如何使用以下代码在同一函数中发送不同的错误:
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
}
}