gpt4 book ai didi

javascript - 未处理的拒绝 - Promise

转载 作者:行者123 更新时间:2023-11-30 14:46:34 24 4
gpt4 key购买 nike

我是 UnhandledRejection 的新手。下面的方法应该抛出异常并终止流程,但它没有。请支持以任何一种方式解决它

案例一:从 promise 中获取值(value)作为 true 和尝试过的条件。但它被绕过并返回未处理的拒绝,并抛出异常。

Utils.isMaximumLimitReached(id).then(isLimit=>{
console.log(isLimit); //true
if(isLimit){
throw "not allowed";
}
})

编辑:情况 3:这也返回 Unhandled rejection this is not allowed

const isMaximumLimitReached = coachingId => {
return db.coachingClassEntries
.findAndCountAll()
.then(counts => {
let numberOfEntries = 2;
//let maxEntries = counts.rows[0].coachingClass.maxEntries;
let maxEntries=2;
return new Promise((resolve,reject)=>{
if (numberOfEntries == maxEntries) {
reject('this is not allowed');
}
});

});
};

Utils.isMaximumLimitReached(data.coachingClassId).then().catch(error=>{
throw error;
})

最佳答案

Promise 拒绝通常通过 then 方法中的第二个回调处理,在您的情况 1 中可能如下所示:

Utils.isMaximumLimitReached(id).then(()=>{
// everything is fine
}, (error) => {
// promise was rejected, handle error
console.log(error);
})

这样,由 isMaximumLimitReached 引起的任何拒绝都将在错误回调中处理。

关于javascript - 未处理的拒绝 - Promise,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48825264/

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