20.08.10 동기와 비동기

김지욱·2020년 8월 29일
0

코드스테이츠

목록 보기
25/38

오늘 한 일

  • Callback함수에 대해서 다시 복습했다.
  • 동기적, 비동기적 프로그래밍의 차이에 대해서 공부했다.
  • Callback 패턴의 단점과 비동기 처리를 위한 Promise패턴에 대해 공부했다.
  • node.js 내장 모듈을 사용하는 방법을 배웠다.

타이머 API QnA

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

  • 첫 번째 파라미터로 들어오는 resolve함수를 호출한다.
  • 다음 resolve함수를 실행 할 때 이전의 리턴값을 지정해주면 resolve함수의 인자로 리턴값을 받는다.
  • 처음으로 실행되는 resolve함수는 기존의 resolve의 인자값을 사용한다.
  • resolve함수에 따로 인자를 넣어주지 않으면 기존의 resolve의 (인자)값을 사용.
  • .then을 사용했을때 이전의 리턴값을 resolve함수의 인자로 사용한다?
  • Promise 함수에 조건을 만들고 =>함수 인자로 falsy한 값이 들어올 때 reject의 인자로 설정 값이 실행된다.

Q. resolve, reject는 각각 무엇을 의미하나요?

  • resolve는 다음동작을 실행시키고(다음동작은 then안의 callback함수)
  • reject는 error를 다룰 때 사용한다. (handle error)

Q. Promise.prototype.then 메소드는 무엇을 리턴하나요?
Promise.prototype.catch 메소드는 무엇을 리턴하나요?

  • Primise의 결과값을 리턴한다.

Q. Promise의 세가지 상태는?

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

Q. async는?

  • await의 순서로 실행된다.

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

  • promise 함수의 리턴(결과)값.

0개의 댓글