
407
13.2 프라미스
13.2.4
이 장 초반에서
.then()
메서드에 두 번째 콜백 함수를 전달할 수 있으며 프라미스
가 거부되면 이 함수가 호출된다고 했습니다. 프라미스가 거부됐을 때 두 번째 콜
백 함수에 전달되는 인자는 거부 사유를 나타내는 값이며 일반적으로 Error 객체입
니다. 또한 앞에서
.then()
메서드에 콜백 두 개를 전달하는 일은 흔치 않다고 했습
니다. 프라미스 관련 에러는 일반적으로 프라미스 체인에
.catch()
메서드를 추가
하는 식으로 처리합니다. 프라미스 체인에 대해 설명했으니 이제 에러 처리에 대해
더 자세히 살펴보겠습니다. 설명에 앞서 비동기 프로그래밍에서는 에러 처리가 정
말 중요하다는 점을 강조합니다. 동기적 코드에서는 에러 처리 코드가 없으면 최
소한 예외가 발생하고, 스택 추적을 통해 어디서 무엇이 잘못됐는지 파악할 수 있
습니다. 비동기 코드에서는 처리하지 않은 예외가 아무런 경고 없이 사라질 때가
많고 에러도 조용히 일어날 때가 많으므로 디버그하기가 무척 어렵습니다. 다행히
.catch()
메서드를 사용하면 프라미스 에러를 쉽게 처리할 수 있습니다.
프라미스의
.catch()
메서드는
null
을 첫 번째 인자로, 에러 처리 콜백을 ...