2016-08-25 4 views
1

私は私のプロジェクトでマングースやブルーバードを使用してから返されませんでした。この警告は私のコードをすべて修正してもどこにでもあります。それはまだ起こる。私はlibに/ query.jsのマングースのソースコードをチェックした後ブルーバードとマングース:警告:約束はハンドラで作成されましたが、それは

exports.middleware = function (req, res, next, id) { 
    Account.findById(id).exec().then(function(account) { 
    if (!account) { 
     return res.status(404).send({ 
     message: 'No account with that identifier has been found' 
     }); 
    } 
    req.account = account; 
    next(); 
    }).catch(function(err) { 
    return next(err); 
    }); 
}; 
+0

この警告は3.4.3 – Esailija

答えて

1

は、私は、exec()コールバック関数内でいくつかの問題が

https://github.com/Automattic/mongoose/blob/master/lib/query.js#L2243

query.prototype.exec = function exec(op, callback) { 
    ... 
    if (callback) { 
    promise.then(
     function() { 
     callback.apply(null, _results); 
     }, 
     function(error) { 
     callback(error); 
     }); 
    } 
    ... 
} 

約束ノーリターンではありませんがあり気づきました.then()。だからマングースがこの問題を直す前に。私はちょうど私のコードでexec(コールバック)を使用しないでください。誰もが幸せになるでしょう。

+0

でもっと便利に更新されましたこれは修正しているようだだし、マングースの次のリリースで[OK]をする必要があり –

関連する問題