我只是在节点中玩异步/等待,似乎如果你正在等待一个承诺并且它被拒绝它会抛出。我想知道是否有比回到我不知道的 try/catch 块更干净的模式?
async function foo() {
const val = await Promise.reject();
}
我只是在节点中玩异步/等待,似乎如果你正在等待一个承诺并且它被拒绝它会抛出。我想知道是否有比回到我不知道的 try/catch 块更干净的模式?
async function foo() {
const val = await Promise.reject();
}
try
/catch()
是更简洁的模式,对齐同步和异步错误处理:
(目前适用于 Chrome 和 Firefox 开发者版)
function a(heads) {
if (heads) throw new Error("Synchronous error");
}
async function b() {
await Promise.resolve();
throw new Error("Asynchronous error");
}
async function main(heads) {
try {
a(heads);
await b();
} catch (e) {
console.log(e.message);
}
}
main(false); // Synchronous error
main(true); // Asynchronous error