TIL_20.06.05(월) - Promise

nRecode·2020년 6월 8일
0

TodayILearned

목록 보기
55/95

주말동안에는 이제껏 배웠던 내용을 복습하는 시간을 가졌다.

오늘은 promise에 관한 공부를 진행하였다.


Promise 실행함수가 가지고 있는 두 개의 파라미터, resolve, reject는?

매개변수로 실행함수인 두 가지 함수를 받아야하는데,

resolve - 비동기 작업을 성공적으로 완료하여 결과를 값으로 반환할 때 호출
reject - 작업이 실패하여 오류의 원인을 반환할 때 호출


const promise1 = new Promise((resolve, reject) => {
  setTimeout(() => {
    //비동기 작업을 성공적으로 완료하여 결과를 값으로 반환할 때 호출
    resolve('foo');
  }, 300);
});


promise1.then((value) => {
  console.log(value);
  // expected output: "foo"
});

보통 어떤 비동기 작업을 끝내면 resolve를 호출하여 이행하고, 오류가 발생하면 reject를 호출하여 거부


then() 메서드는 Promise를 리턴하고 두 개의 콜백 함수를 인수로 받습니다. 하나는 Promise가 이행했을 때, 다른 하나는 거부했을 때를 위한 콜백 함수입니다.

Then 헷갈리는 부분

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

Catch()메서드 역시 Promise를 리턴한다.

const promise1 = new Promise((resolve, reject) => {
  throw 'Uh-oh!';
});


promise1.catch((error) => {
  console.error(error);
});

Promise의 세가지 상태는 각각 무엇이며, 어떤 의미?

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


await 키워드 다음에 등장하는 함수 실행은, 어떤 타입을 리턴할 경우에만 의미가 있나요?

Await 뒤에는 promise를 return 하는 함수이어야 한다.

await 키워드를 사용할 경우, 어떤 값이 리턴되나요?

Promise에 의해 만족되는 값이 return 되고 Promise가 아닌 경우에는 그 자체가 반환된다.


아직도 Promise.all로 가져온 데이터를 어떻게 파싱 시켜줘야할 지 감은 잡히지 않는다 ㅜㅜ

profile
안정성, 확장성 있는 서버를 구축하고 가꾸는 개발자를 목표로 공부하고 있습니다. 🤔🤔🤔🤔 부족하기에 맞지 않는 내용이 있을 수 있습니다. 가감없이 피드백 해주시면 정말 감사하겠습니다..🙏

0개의 댓글