TIL-65 JavaScript Promise

PRB·2022년 3월 4일
0

JavaScript

목록 보기
21/24
post-thumbnail
// new Promise가 생성이 되면 자동으로 실행된다 !!
const promise = new Promise((resolve, reject) => { 
  // doing some heavy work (네트워크통신, get)
  console.log('doing')
  setTimeout(() => {
    resolve('star');
  }, 2000)
})

promise.then(value => {
  console.log(value); // 성공적으로 받아 올 경우 
  
  .catch(error => { // 에러 처리
  console.log(error);
  })
})

reject를 아래와 같이 호출하면 실패(Rejected) 상태가 된다.

function getData() {
  return new Promise(function(resolve, reject) {
    reject(new Error("Request is failed"));
  });
}

// reject()의 결과 값 Error를 err에 받음
getData().then().catch(function(err) {
  console.log(err); // Error: Request is failed
});

Pending(대기) : 비동기 처리 로직이 아직 완료되지 않은 상태
Fulfilled(이행) : 비동기 처리가 완료되어 프로미스가 결과 값을 반환해준 상태
Rejected(실패) : 비동기 처리가 실패하거나 오류가 발생한 상태

profile
사용자 입장에서 사용자가 원하는 것을 개발하는 프론트엔드 개발자입니다.

0개의 댓글