January 04, 2021
자바스크립트 내에서 비동기(Asynchronous)처리를 도와주는 object이다. 우리가 처리할 비동기코드(asynchronous code)를 동기(Synchronous)로 실행되는 것처럼 보이게 한다.
Promise는 어떤 기능을 실행하고 나서 정상적으로 동작하면 성공의 메시지와 함께 처리된 결과값을 전달해준다. 그러나 예상치 못한 문제가 발생하면 error를 전달해 준다.
Promise 는 생성되고 종료 될 때까지 크게 3가지의 상태로 나뉜다.
Promise는 클래스이기 때문에 new라는 키워드를 사용해서 생성해야 한다.
new Promise 가 생성되는 순간 콜백함수인 executor 함수가 자동적으로 실행된다. executor 함수는 resolve와 reject 라는 두 개의 인자를 받게 된다. 이때의 new Promise()는 pending 상태이다.