gpt4 book ai didi

javascript - Mongoose/JS - 跳出代码,跳过任何 then block

转载 作者:太空宇宙 更新时间:2023-11-04 00:44:07 25 4
gpt4 key购买 nike

如果我有一个调用来检查特定 ID 是否存在 - 如果一开始就发现错误,我该如何退出整个过程。

我知道我可以用 if-else block 来做到这一点,但是有没有一种“更容易阅读”的 1 行方式。

例如:

Question.find({_id: req.headers['questionid']}, {question:1, tags:1},
function(err, foundQ) {


if(!err) {
//skip everything below including the then
}

})
.then(function(foundQ){
//Some more stuff here
})

另外,仅供引用 - 我在代码的另一部分中使用 Q 框架 - 所以如果有替代方法,有人可以指导我也可以提供帮助。

最佳答案

如果你想打破一个与 .then 链接的函数,并且不调用下面的 .then,你可以抛出一个错误 throw new Error('这是一个错误');.但是有了 Mongoose 和 promise ,您应该能够使用这种方式,只需执行 .find().exec().then().catch(); ,您的错误应该结束在.catch中。 find 中不需要回调。

Question.find({_id: req.headers['questionid']}, {question:1, tags:1}).exec().
.then(function(foundQ){
//Some more stuff here
})
.catch(function(err){
})

关于javascript - Mongoose/JS - 跳出代码,跳过任何 then block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35503809/

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