[JavaScript] Promise, executor, state

jwp9633·2022년 7월 27일
0

JavaScript

목록 보기
26/28

Promise

Promise 객체는 콜백 지옥을 개선하기 위해 도입되었다.

Promise 객체는 비동기 작업이 맞이할 미래의 완료 또는 실패와 그 결과 값을 나타낸다.

다음과 같은 문법으로 작성한다.

let promise = new Promise(function(resolve, reject) {
  // 생략
});

// executor: function(resolve, reject) {}

new Promise에는 resolvereject를 인수로 갖는 함수가 전달되는데, 이 함수를 executor(실행자, 실행함수)라 한다.

executor

  • executor(실행자, 실행함수)는 new Promise에 전달되는 함수이다.
  • executor는 새로운 Promise 객체 인스턴스가 만들어질 때 자동으로 실행된다.
  • executor의 인수 resolvereject는 JavaScript에서 자체 제공하는 콜백함수이다.
  • executor에서는 인수로 넘겨준 콜백(resolve, reject) 중 하나를 반드시 호출해야 한다.
    • resolve(value) — 일이 성공적으로 끝난 경우 그 결과를 나타내는 value와 함께 호출
    • reject(error) — 에러 발생 시 에러 객체를 나타내는 error와 함께 호출

Promise의 state

처음엔 pending(대기)이었다 resolve가 호출되면 fulfilled, reject가 호출되면 rejected로 변한다.

  • pending(대기): 이행하지도, 거부하지도 않은 초기 상태
  • fulfilled(이행): 연산이 성공적으로 완료됨
  • rejected(거부): 연산이 실패함

참고문헌

profile
JUST DO IT.

2개의 댓글

comment-user-thumbnail
2024년 12월 27일

Delhi Queen- Make your dream come TRUE with Escorts services. Look no further! When using Our Delhi Escorts Service you will find very beautiful and pretty girls. Yes, 24/7 VIP models ready for your intimate pleasure!

답글 달기
comment-user-thumbnail
2024년 12월 28일

Delhi Escorts is an opportunity for you to indulge in memorable experiences. Our professional services are designed to cater to your desires and ensure you have a good time while staying in the city.

답글 달기