Javascript 节点js,使用mongoose和Q promise不调用拒绝函数
我已经开始学习承诺,我想用它来对付猫鼬。我已经读到猫鼬的承诺是原始的,因此我使用以下代码应用于Javascript 节点js,使用mongoose和Q promise不调用拒绝函数,javascript,node.js,mongoose,Javascript,Node.js,Mongoose,我已经开始学习承诺,我想用它来对付猫鼬。我已经读到猫鼬的承诺是原始的,因此我使用以下代码应用于q: var mongoose = require('mongoose'); var q = require('q'); mongoose.Promise = q.Promise; 我已经创建了模式和模型,并尝试通过承诺调用函数: User.findOne({chat_id: 2}).exec().then( function (obj) { console.log("SUCC
q
:
var mongoose = require('mongoose');
var q = require('q');
mongoose.Promise = q.Promise;
我已经创建了模式和模型,并尝试通过承诺调用函数:
User.findOne({chat_id: 2}).exec().then(
function (obj) {
console.log("SUCCESS");
console.log(obj);
},
function (err) {
console.log("ERROR");
console.log(err);
}
).done();
当我调用此代码时,它总是调用resolve
part并跳过reject
part。如果我有意查询不存在的数据,我的控制台始终显示具有成功
行的功能
是我遗漏了什么,还是mongoose总是使用
Model.method().exec()。然后(resolveFunction)
?找不到东西不是错误,只是意味着找不到东西。请看:您的问题可能与此有关
也可以试试这个:注意我没有和q一起工作过。答应我,我用的是蓝鸟
User.findOne({chat_id: 2}).exec().then(
function (obj) {
if (obj.chart_id === 2) {
console.log("SUCCESS");
console.log(obj);
} else {
console.log("obj with obj.chart_id == 2 NOT FOUND");
console.log(obj);
}
},
function (err) {
console.log("ERROR");
console.log(err);
}
).done();
找不到东西不是错误,它只是意味着你没有找到东西。请看:您的问题可能与此有关 也可以试试这个:注意我没有和q一起工作过。答应我,我用的是蓝鸟
User.findOne({chat_id: 2}).exec().then(
function (obj) {
if (obj.chart_id === 2) {
console.log("SUCCESS");
console.log(obj);
} else {
console.log("obj with obj.chart_id == 2 NOT FOUND");
console.log(obj);
}
},
function (err) {
console.log("ERROR");
console.log(err);
}
).done();