理想的情况下,我希望我的应用程序只有顶级的try/catch,大多数的例外只是冒出来。但有了它,您将得到UnhandledPromiseRejectionWarning。
function example() {
return new Promise((resolve, reject) => {
reject("test reject");
});
}
try {
example().then(r => console.log(`.then(${r})`));
} catch (e) {
console.error(`try/catch(${e})`);
}
我的问题是,而不是再放一个。后面抓。那么,有没有办法绕过?谢谢!
您可以等待您的承诺(在异步函数中,但可以设置为顶级),以便您的catch块可以捕获异常,或者创建一个全局unhandledpromise
处理程序。
null
function example() {
return new Promise((resolve, reject) => {
reject("test reject");
});
}
(async () => {
try {
await example()
} catch (e) {
console.error(`try/catch(${e})`);
}
})()