[TIL] 9.26 (타이머API)

김나율·2022년 9월 27일
0

section2

목록 보기
7/15
post-thumbnail

타이머 API과제를 수행하였다. 다양한 질문에 답을 작성해보았다.

‣Promise

  • Promise 실행 함수가 가지고 있는 두 개의 파라미터 resolve 와 reject 는 각각 무엇을 의미하나요?

    비동기작업의 처리과정에서 성공/실패를 구분하는 방법으로,
    resolve는 다음 프로세스로 넘어갈수있고, reject는 실패상태로 err를 넘겨줄수있다.

  • resolve, reject함수에는 전달인자를 넘길 수 있습니다. 이때 넘기는 전달인자는 어떻게 사용할 수 있나요?

    resolve로 응답한 경우, then 메소드에서 데이터를 전달받아 처리하며, reject로 응답이 된 경우 catch 메소드에서 에러를 처리한다.

  • new Promise()를 통해 생성한 Promise 인스턴스에는 어떤 메서드가 존재하나요? 각각은 어떤 용도인가요?

    then: 두 개의 콜백 함수를 인자로 받으며, 첫번째 함수는 성공 시, 두번째 함수는 실패시 호출 된다. then은 Promise를 반환한다.
    catch: 에러가 발생하면 호출되며, then의 두번째 인자와 같은 역할을 한다. catch는 Promise를 반환한다.

  • Promise.prototype.then 메서드는 무엇을 리턴하나요?

    이행 또는 거부 처리기를 추가하고 호출된 처리기의 반환값 또는 프로미스가 처리되지 않은 경우 그 원래 처리된(settled) 값으로 결정하는 새 프로미스를 반환합니다. 전에 있던 결과값을 return 값을 받아오는것으로 한다.

  • Promise.prototype.catch 메서드는 무엇을 리턴하나요?

    프로미스(promise)에 거부 처리기 콜백을 추가하고 호출된 경우 콜백의 반환값 또는 프로미스가 대신 이행된 경우 그 원래 이행(fulfillment)값으로 결정하는(resolving) 새 프로미스를 반환합니다. 가급적 catch()로 에러를 처리하는 게 더 효율적이다.

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

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


‣async...await

  • await 키워드 다음에 등장하는 함수 실행은 어떤 타입을 리턴할 경우에만 의미가 있나요?
    => 프로미스객체
  • await 키워드를 사용할 경우, 어떤 값이 리턴되나요?
    => resolve로 리턴해주는 값을 꺼낸다. Then 없이도 결과를 받아서 변수에 저장할 수 있다.

0개의 댓글