200201_TIL

future·2021년 2월 1일
0

TIL (Today I Learned)

목록 보기
50/53
post-thumbnail

📎 오늘 한 일

  • Toy Problem 05
  • Callback & Promise & Async 학습
  • Promise 스프린트 코드 작성

🐬 기억할 것

Promise의 처리 과정

① Pending (대기)

new Promise(function(resolve, reject) {
  // ... 
});
  • new Promise() 메서드 호출 시 대기 상태가 된다.
  • 메서드 호출 시 콜백 함수를 선언할 수 있으며, 콜백 함수의 인자는 resolve, reject이다.

② Fulfilled (완료)

new Promise(function(resolve, reject) {
  resolve();
});
  • 콜백 함수의 인자 resolve를 호출할 경우 완료(이행) 상태가 된다.
function bringData() {
  new Promise(function(resolve, reject) {
    const data = 'crazy';
    resolve(data);
  });
}
// resolve()의 결과값인 data를 passedData로 받음
bringData().then(function(passedData) {
  console.log(passedData);
})
  • 완료 상태가 되면 then()을 사용하여 비동기 처리된 결과값을 받을 수 있다.

③ Rejected (실패)

new Promise(function(resolve, reject) {
  reject();
})
  • 콜백 함수의 인자 reject를 호출할 경우 실패 상태가 된다.
function bringData() {
  return new Promise(function(resolve, reject) {
    reject(new Error('데이터를 가져오지 못하였습니다'));  
  })
}
// reject()의 결과값인 에러를 err로 받음
bringData().catch(function(err) {
  console.log(err);	// Error: '데이터를 가져오지 못하였습니다'
});
  • 실패 상태가 되면 catch()를 사용하여 실패 처리된 결과값을 받을 수 있다.

🖍️ 더 공부해야 할 것

  • setTimeout()
  • async & await

😪 느낀 점

  • 어쩌다 통과된 코드보다 더 긴 삽질이 낫다.

📝 내일 할 일

  • Toy Problem 06
  • Promise 스프린트 나머지 코드 작성
profile
get, set, go!

0개의 댓글