我有async.each的问题,回调是在完成任务之前创建geting,我有下面的代码,得到输出为 调用reprice 7在调用reprice之前执行如图6所示,图6是我建立一个数组,我需要在async.each回调有async.each的问题,回调是在完成任务之前geting调用
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 ");
}
}
});
嗨任何人都可以帮我吗? –