我正在从猫鼬/ q承诺框架示例here,但似乎有一些问题与nfbind时,试图使用findOne,主要是因为从Q框架样本似乎不匹配要点。猫鼬和q承诺
我的代码:
var mongoose = require('mongoose');
var Q = require('q');
var user_schema = mongoose.Schema({username:String, last_touched:Date, app_ids:[String]});
var user = mongoose.model('user', user_schema);
exports.user = user;
exports.user.find = Q.nfbind(user.find);
exports.user.findOne = Q.nfbind(user.findOne);
如果我打电话user.findOne({username:'test'}).then(function(err, user) { ... }
,用户永远是不确定的。如果我删除导出并使用带回调的非诺言版本,我会得到该用户。我错过了一些特殊的魔法,但是在看了代码实现之后,来自Q github和猫鼬演示的例子......没有什么真正跳出来的。任何想法如何让我的findOne
与Q一起工作?
我也试图设置nfbind
功能在源而不是在模块中,但无济于事。
检查也是这个答案http://stackoverflow.com/questions/11912573/node-js-deferred-promisify-mongoose/11931908 –