nodeJS에서 비동기 작업을 하는 함수를 만들어서 사용해야 할 때마다 지금까지 이렇게 써왔는데요
const myAsyncJob = (param) => {
return new Promise(resolve, reject) {
mySlowJob(param, (error, data) => {
if (error) return reject(error)
resolve(data)
})
}
}
async 로 선언한 함수는 자동적으로 promise 를 리턴하도록 된다는걸 알고나서 이렇게 고치려고 합니다.
const myAsyncJob = async (param) => {
mySlowJob(param, (error, data) => {
if (error) throw error;
return data
})
}
그런데 성공시에는 제대로 promise.then 로 리턴되지만,
에러시에는 던진 에러가 promise.catch 로 리턴되진 않네요…
어떻게 쓰면 new Promise() 의 완벽한 대체제로 쓸수 있을까요?