gpt4 book ai didi

javascript - 我怎样才能捕捉到被拒绝的 promise ?

转载 作者:行者123 更新时间:2023-11-30 08:22:16 24 4
gpt4 key购买 nike

我的代码如下:

errorTest().then((result) => {

try {
console.log(result);
}

catch (err) {
console.error("Error detected 1");
console.error(err);
}
}).catch((err) => {
console.error("Error detected 2");
console.error(err);
});

async function errorTest() {
return new Promise((resolve, reject) => {
reject("my error");
})
}

目前,它打印“检测到错误 2”。

我想使用 try/catch 捕获我的错误,以便代码打印“检测到错误 1”。

如何修改我的代码来执行此操作?

最佳答案

首先,当您声明 async 函数时,这意味着您声明了一个返回 Promise 的函数。所以你不需要用新的 promise 来扭曲它

你可以这样做

async function errorTest() {
throw new Error("my error")
}

然后你可以像这样用try catch来捕获它

(async () =>{
try{
await errorTest()
}
catch(err){
console.log(err)
}

})()

完整的代码如下所示

async function errorTest() {
throw new Error("my error")
}

(async () =>{
try{
await errorTest()
}
catch(err){
console.log(err)
}

})()

关于javascript - 我怎样才能捕捉到被拒绝的 promise ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51497466/

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