developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Promise

 

Promise - JavaScript | MDN

Promise Promise 객체는 비동기 작업이 맞이할 미래의 완료 또는 실패와 그 결과 값을 나타냅니다. Promise의 작동 방식과 Promise 사용 방법에 대해 알아보려면 먼저 Promise 사용 방법을 읽어 보십시오.Pro

developer.mozilla.org

 

Promise에 관한 정리

Promise는 사용이 가능한 브라우저에서 new Promise 생성자로 선언해준다.

 

 

// pending phase
const p = new Promise((resolve, reject) => {
   setTimeout(() => {
      resolve();
   }, 1000);
});

위와같이 new Promiseresolvereject의 2가지 파라미터를 받는데

기본적으로 new Promise를 선언한 순간부터 pending (대기) 상태이다.

 

// pending phase
const p = new Promise((resolve, reject) => {
   setTimeout(() => {
      resolve();
   }, 1000);
});

p.then(() => {
   /* callback */
   console.log('fulfilled phase');
});

resolve를 실행하게 되면 아래쪽에서 .then이 실행된다.

그리고 이 상태를 fulfilled (이행) 상태라 한다.