【发布时间】:2022-08-19 22:51:02
【问题描述】:
这段代码得到unhandledRejection 错误,我不知道为什么。
如果在try/catch中抛出Error,不应该被Catch Expression捕获吗?
async function main () {
try {
await run(throwError)
} catch (error) {
console.log(\'main catch error\', error);
}
}
async function run (callback) {
return new Promise(async resolve => {
await throwError()
});
}
async function throwError () {
throw new Error(\'custom error\')
}
process.on(\'unhandledRejection\', (reason, promise) => {
console.log(\'unhandledRejection - reason\', reason, promise);
})
main()
-
请注意,异步函数中的
return new Promise是不需要的。请去掉?也没有必要等待throwError()- 进行这些更改似乎也可以解决您的问题 -
这回答了你的问题了吗? Try/catch a promise or just catch?
标签: javascript node.js