Promise

Jayden ·2022년 8월 30일
0

Promise

  • ES2015에 도입된 비동기 처리 시점을 명확하게 표현할 수 있는 객체
  • 비동기 작업이 끝난 뒤 결괏값(성공 또는 실패)을 처리 할 수 있음
  • Promise는 비동기 작업이 끝난 뒤 결괏값(성공 또는 실패)를 처리할 수 있는 객체
  • Promise 생성자 함수를 통해 인스턴스화, 생성자 함수에 전달되는 함수는 실행자(executor)라고 함

const p = new Promise((resolve, reject) => {
  
// 실행자(executor)
// 비동기 작업 수행. 객체가 만들어 질때 실행
})
  • 실행자 함수는 매개변수로 자바스크립트에서 제공하는 함수인 resolve()와 reject()를 가짐
  • 비동기 작업이 성공적으로 실행되었을 경우 결괏값과 함께 resolve() 함수를 호출,
    실패시 reject()를 호출
  • 실행자에서는 reject()나 resolve()를 반드시 호출
  • reject()나 resolve()를 중복해서 호출하며 무시

const p = new Promise((resolve, reject)=> {
  resolve(100);
  resolve(200); // 무시
});


  • Promise 객체는 상태를 나타내는 state Property를 가짐
  • 총 3개의 상태를 가질 수 있으며, 각 상태는 상호 배타적 관계
  • 작업이 성공적으로 종료되었음을 의미하는 이행(fullfiled)과 작업이 실패했다는 것을 의미하는 거부(rejected), 작업이 이행되거나 거부되지 않은 초기 단계를 의미하는 보류(pending)이 있음
profile
프론트엔드 개발자

0개의 댓글