【发布时间】:2017-07-27 08:58:11
【问题描述】:
我遇到了 async.each 的问题,回调在完成任务之前被调用,我有下面的代码,输出为 调用 reprice 7 在调用 reprice 6 之前执行,6 是我在 async.each 回调中构建我需要的数组的部分
called reprice :
called reprice : 2
called reprice : 3
**called reprice : 7 []**
no chnages has been made
called reprice : 6 { status: 200, msg: 'recived optimal price 4 ', data: 17.75 }
called reprice : 6 { status: 200, msg: 'recived optimal price 4 ', data: 20.99 }
这是代码
async.forEach(records, function(result, callback) {
switch (result.Pricing) {
case "PF" : // current scenrio
var pfObject = _.filter(rules, {'sub_title': 'PF'});
checkRepriceFrequency(result, pfObject[0], function (response) {
if (response.status === 200) {
// call check inventory rules
CheckInventoryRules(result, pfObject[0], function (response) {
console.log('called reprice : 6 ',response);
if (response.status === 200) {
var price = result.sales_price;
var pushData = {
price: price,
optimalPrice: response.data,
SKU: result.SKU,
_id: result._id,
frequency: pfObject[0].reprice_frequency
};
productArray.push(pushData);
}
});
} else {
console.log('err');
}
});
}
callback(null);
}, function(err) {
console.log('called reprice : 7 ',productArray);
if (!err) {
if (productArray.length > 0) {
console.log('To update Synch : ',productArray);
} else {
console.log("no chnages has been made ");
}
}
});
【问题讨论】:
-
您好,谁能帮帮我?
标签: javascript angularjs node.js loops callback