gpt4 book ai didi

javascript - 如何在异步等待中手动触发拒绝

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:20:28 25 4
gpt4 key购买 nike

我曾在 Javascript 中使用 Promises,我正尝试在 async-await 中实现我的功能。我如何触发一个 reject() ,它将在 async-await 中的 .catch() 中被捕获

在 promises 中,我们有一种方法可以手动触发 reject() :

const doSomething = (someNumber)=>{
return new Promise((resolve,reject)=>{
if (someNumber > 5) {
resolve('this resolves when someNumber is greater than 5')
}else{
reject('this gives a reject when someNumber is not greater than 5')
}

})
}

doSomething(7)
.then((infoMessage)=>{
//this will show
console.log(infoMessage)
})
.catch((err)=>{
//this wont show
console.log(errMessage)
})

doSomething(3)
.then((infoMessage)=>{
//this wont show
console.log(infoMessage)
})
.catch((err)=>{
//this will show
console.log(errMessage)
})

最佳答案

直接抛出错误:

async function rejectMe() {
throw new Error("rejected!");
}

async function main() {
await rejectMe();
}

main()
.then(() => {
console.log("finished!")
})
.catch((e) => {
console.error(e);
})

关于javascript - 如何在异步等待中手动触发拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55328177/

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