节点 js,使用带有 Q promise 的猫鼬不调用拒绝函数
Node js, using mongoose with Q promise does not call reject function
我已经开始学习承诺,我想把它和猫鼬一起使用。我已经读到猫鼬承诺是原始的,所以我使用以下代码应用于q
:
var mongoose = require('mongoose');
var q = require('q');
mongoose.Promise = q.Promise;
我已经创建了我的模式和模型,并尝试通过 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
部分并跳过reject
部分。我的控制台始终显示具有SUCCESS
行的功能,即使我故意查询不存在的数据。
我错过了什么,还是猫鼬会一直使用Model.method().exec().then(resolveFunction)
?
没有找到某些东西不是错误,它只是意味着你没有找到什么。请参阅:从找不到匹配项的猫鼬查询返回什么?并且可能您的问题与此猫鼬 JS 查找一个总是返回空
值有关也试试这个:注意我没有使用过q.Promise,我使用蓝鸟。
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();
相关文章:
- 如何从模块链中调用函数.导出到节点中
- 调用函数内部的函数
- 在javascript中调用c函数
- DropDownListFor赢得't在更改时调用函数
- Javascript页面调用函数
- 在动画结束之前调用函数
- 允许父窗口在其不同域的子iframe上调用函数
- 运行Infinite Scroll后调用函数时出现问题
- JavaScript:在调用函数的文本输入上按enter键
- 使用大括号和不使用bracs调用函数的区别
- javascript在事件上调用函数
- 从index.html调用函数,该函数无限循环
- 从带参数的字符串变量调用函数中的函数
- 为什么 JS 不在滚动时调用函数
- 是否可以在不更改上下文的情况下调用函数.apply
- 如何在ES6类中使用参数调用函数
- AngularJS:调用函数时编号不更新
- JavaScript中的立即调用函数表达式(IIFE)-传递jQuery
- 在JavaScript中调用函数时自定义此选项
- 调用函数中声明的变量