gpt4 book ai didi

javascript - 在 Javascript 中等待函数时捕获错误的正确方法

转载 作者:行者123 更新时间:2023-12-05 02:45:38 25 4
gpt4 key购买 nike

我无法在我的函数中捕捉到拒绝。我在谷歌上搜索过,但我还没有找到解决方案,所以请帮助我处理这段代码:

async function errorFunc(){
setTimeout(() => {
return Promise.reject("Any error occured!");
}, 1000);
}
async function main(){
await errorFunc().catch((error)=>{
console.log("E in catch:", error);
});

try{
await errorFunc();
}catch(e){
console.log("E in try-catch:", e);
}
}

main();

没有一个捕获(在 main() 函数中)起作用...在控制台中,只是打印(两次)此错误消息:

Uncaught (in promise) Any error occured!

我想捕获那个错误(或者更好的说法是 promise 拒绝)。我怎样才能在我的 main() 函数中做到这一点?

谢谢!

最佳答案

async function errorFunc(){
return new Promise((resolve, reject) => setTimeout(() => reject("Any error occured!"), 1000))
}

这就是你想要的。


setTimeout(callback, ms)

callback 将在全局执行,没有人能捕捉到它。

关于javascript - 在 Javascript 中等待函数时捕获错误的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65870139/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com