需求:async await函数中如何多次捕获到错误
解决方法:catch捕获到错误后,继续throw error 抛出错误即可
async function test() {
console.log('test start');
await new Promise((resolve, reject) => {
setTimeout(() => reject('has Error'), 2000);
});
}
async function trigger() {
try {
await test();
} catch (error) {
console.log('error1', error);
throw error; // 继续抛出错误 那么 after 函数内就可以继续捕获到 error信息
}
}
async function after() {
try {
await trigger();
} catch (error) {
console.log('error2', error);
}
}
after();
// test start
// error1 has Error
// error2 has Error