在猫鼬中,当我调用以下代码时:
db.Person.find({}).then((err, author) => {
if (err) {
console.log("err",err);
} else {
console.log('author', author);
}
});
答案 0 :(得分:3)
根据文档:https://mongoosejs.com/docs/promises.html 您应该使用query.exec()获得完整的承诺:
// `.exec()` gives you a fully-fledged promise
var promise = query.exec();
promise.then(function (doc) {
// use doc
});
当您像承诺一样使用它时,
.then((doc)=>console.log(doc))
doc是实际的文档,最终会有错误
.catch(err=>console.log(err))
答案 1 :(得分:1)
使用.then()
并兑现承诺后,您将在then()
中得到结果。
.then((result) => console.log(result))
当承诺被拒绝时,您可以在以下位置捕获错误:
.catch((error) => console.log(error))
Promise具有三个阶段resolve
,reject
和pending
。