如何将此函数转换为与 then 和 catch 的链接?
链式更好吗?
我的意思是 User.findOne().then().catch()
User.findOne({_id: msg.chat.id}, (err, doc) => {
if (err) {
console.log(err);
}
if (doc) {
console.log(doc.name);
} else {
console.log('Empty');
}
});
最佳答案
如果操作成功,则使用返回的文档(或 null)调用传递给 then
的函数;如果操作失败,则使用返回的文档(或 null)调用 catch
并返回错误(例如没有连接)。把它们放在一起看起来像这样:
User.findOne({_id: msg.chat.id})
.then(doc => {
if (doc) {
console.log(doc.name);
} else {
console.log('Empty');
}
}).catch(err => {
if (err) {
console.log(err);
}
});
顺便说一句,当您通过 id 搜索一个文档时,可以使用 findById
:
User.findById(msg.chat.id)
.then(doc => {
if (doc) {
console.log(doc.name);
} else {
console.log('Empty');
}
}).catch(err => {
if (err) {
console.log(err);
}
});
关于javascript - mongoose 与 then 和 catch 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48453429/