私はここでmongoose/q promisesフレームワークのサンプルから作業していますが、主にQフレームワークのサンプルが要点のサンプルと一致していないため、findOneを使用しようとするとnfbindにいくつかの問題があるようです。
私のコード:
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
また、モジュールではなくソースで関数を設定しようとしましたが、役に立ちませんでした。