使用异步/等待和承诺的错误处理,n² 种在脚下开枪的方法 反应原生错误



如何使用以下代码在同一函数中发送不同的错误:

function fails3() {
return new Promise((resolve, reject) => {
setTimeout(function() {
throw new Error();
}, 100);
});
}

您可以使用reject并将您想要的东西传递给它:

const myError = {
error1: 'Error found',
error2: 'Timeout Reached'
}
function fails3() {
return new Promise((resolve, reject) => {
setTimeout(function() {
reject(myError);
}, 100);
});
}

一旦承诺被拒绝,因为达到了超时,就会抛出错误,你可以像一样捕捉它

function myFunction() {
fails3()
.catch((error) => console.log(error.error1)); // Handle error 
}

或者如果你喜欢(谁不喜欢(异步/等待

async function myFunction() {
try {
await fails3();
} catch(e) {
console.log(e.error2);  // Handle error
}
}

最新更新