je travaille de la mangouste/q promesses cadre échantillon here, mais semblent avoir quelques problèmes avec la nfbind en essayant d'utiliser findOne, principalement car les échantillons du cadre Q ne semblent pas correspondre ceux dans l'essentiel.Mongoose et q promesses
Mon code:
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);
Si je l'appelle user.findOne({username:'test'}).then(function(err, user) { ... }
, l'utilisateur est toujours défini. Si je supprime l'exportation et utilise la version non promise avec des rappels, j'obtiens l'utilisateur. Il me manque un peu de magie spéciale, mais après avoir regardé l'implémentation du code, l'exemple du Q github, et de la démo mongoose ... Rien ne saute vraiment. Des idées sur la façon dont je peux faire un findOne
travailler avec Q?
J'ai également essayé de régler les fonctions nfbind
dans la source plutôt que dans le module, mais en vain.
Vérifiez également cette réponse http://stackoverflow.com/questions/11912573/node-js-deferred-promisify-mongoose/11931908 –