2016-05-21 6 views
0

私は奇妙なコールバックの問題に直面しています。私は結果の返品を期待していますが、返品はしません。誰かが私の間違いを見つけますか?node.jsコールバックの異常な動作

モデル

module.exports.updateStatus = function(updateObj, callback){ 
    var order_id = updateObj.order_id, 
    order_status = updateObj.order_status; 
    Order.findOneAndUpdate({"_id": order_id}, {$set: {order_status: order_status}},{new: true}); 

マイルート

var Orders = require('../models/orders'); 
router.post('/update_status',function(req,res,next){ 
    var updateObj = { 
    'order_status':req.body.order_status, 
    'order_id':req.body.order_id 
    } 
    Orders.updateStatus(updateObj,function(err,result){ 
    console.log(result) // nothing been return here 
    }) 

}) 

私はデシベルをチェックし、更新が実際に正常に動作しています。私はあなたがそれが今までと呼ばれるだろう、なぜ私が表示されていない、updateStatuscallbackを呼び出すことはありませんしている

module.exports.updateStatus = function(updateObj, callback){ 
     var order_id = updateObj.order_id, 
     order_status = updateObj.order_status; 
     Order.findOneAndUpdate({"_id": order_id}, {$set: {order_status: order_status}},{new: true},function(err,result){ 
console.log(result)// it work here 
}); 

答えて

2

を行います。

呼び出したい場合は、呼び出します。 updateStatus

findOneAndUpdate文は次のようになります。

Order.findOneAndUpdate(
    {"_id": order_id}, 
    {$set: {order_status: order_status}}, 
    {new: true}, 
    callback 
); 
+0

をコールバックを呼び出す必要があります! –

0

あなたはどのようなケアレスミスAW UpdateStatusを機能で

exports.updateStatus = function (updateObj, callback) { 
    Order.findOneAndUpdate(
     {"_id": updateObj.order_id}, 
     {$set: {order_status: updateObj.order_status}}, 
     {new: true}, 
     callback 
    ); 
} 
関連する問題