[英]node.js callback strange behavior
我面臨奇怪的回調問題。 我期望結果返回一些東西,但是沒有。 有人發現我的錯誤嗎?
楷模
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
})
})
我檢查我的數據庫,更新實際上工作正常。 我做
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
});
您永遠不會在updateStatus
調用callback
,我不知道為什么會調用它。
如果要調用它,請調用它。
updateStatus
的findOneAndUpdate
語句應為:
Order.findOneAndUpdate(
{"_id": order_id},
{$set: {order_status: order_status}},
{new: true},
callback
);
您必須在updateStatus函數中調用回調
exports.updateStatus = function (updateObj, callback) {
Order.findOneAndUpdate(
{"_id": updateObj.order_id},
{$set: {order_status: updateObj.order_status}},
{new: true},
callback
);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.