RequestHandler
를 async
로 구현하고 에러를 처리할 때, throw
로 던지면 UnhandledPromiseRejection
이 발생한다. 세번째 매개변수로 next
를 받고, next(err)
로 던져줘야 에러를 정상적으로 처리할 수 있다.
const someHandler: RequestHandler = async (req, res, next) => {
try {
// code...
} catch (e) {
throw e // [X]
next(e) // [O]
}
}