gpt4 book ai didi

node.js - mongoose query.exec() 中的正确错误处理

转载 作者:搜寻专家 更新时间:2023-10-31 23:30:29 24 4
gpt4 key购买 nike

我已经深入研究了 Mongoose 文档,但我仍然找不到关于如何处理 query.exec() 中的错误的信息。

var query = User.findOne({_id: userId});

var promise = query.exec(function(err) {
if (err) {
res.json(err);
return;
}
});
promise.then(function(user) {
res.json(user.name);
});

当我传递不正确的 userId 时,控制台打印出 Unhandled rejection CastError: Cast to ObjectId failed 错误。

我认为 res.json(err) 后跟 return 语句足以正确处理错误并防止它显示在控制台中,但它是不是。我应该怎么做?

最佳答案

带回调:

var query = User.findOne({_id: userId});
query.exec(function (err) {
if (err) {
// handle error
return;
}
// handle success
});

promise :

var query = User.findOne({_id: userId});
query.exec().then(function () {
// handle success
}).catch(function (err) {
// handle error
});

目前您正在混合使用这两种样式。选择一种风格并坚持下去。

关于node.js - mongoose query.exec() 中的正确错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41896865/

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