더북(TheBook)

이 코드에서는 함수가 실패하는 상황도 준비했습니다. 만약 number 값이 없거나, 숫자가 아닐 경우 reject 함수를 사용해 파라미터가 유효하지 않다는 오류를 발생시킵니다. 파라미터가 유효한 값이라면 resolve 함수를 사용해 결괏값을 이행합니다.

Promise에서 이행(resolve)된 결과는 Promise 객체의 then 메서드를 통해 사용할 수 있고, 거부(reject)된 오류는 reject 메서드를 통해 사용할 수 있습니다.

double(1).then(
  result => {
    console.log('resolved: ', result);
  }
)

double(null).then(
  result => {
    // Promise가 거부되기 때문에 이 코드는 실행되지 않음.
    console.log('resolved: ', result);
  }
).catch(
  e => {
    console.error(e);
  }
)

console.error는 콘솔에 결과를 출력할 때 오류를 더욱 쉽게 구분할 수 있도록 결과를 (브라우저 개발자 도구의 경우) 빨간색으로 강조해 출력합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.