我正在使用MEAN(Mongo Express Angulars NodeJs)进行项目。问题是我必须为从查询对象接收的数据添加一个额外的属性。并使用完全旧的数据阵列创建新的数据数组,但具有一个额外的属性。我知道如何添加属性并使用瀑布模型将它们传递给回调,因为我使用多个回调函数和for循环我无法得到预期的结果。
代码:
var fetchRevenue = function(restaurantArray, type, startDate, endDate, fn) {
_.forEach(restaurantArray, function(rest) {
fetchDateWiseReport(new Date('07/10/2015'), new Date('07/16/2015'), rest._id, type, function(orders) {
var newOrders = [];
async.waterfall([
function(callback) {
if(orders && orders.length > 0){
async.forEach(orders, function(order) {
getSellingPriceOfItems(order.orders, function(sp) {
order.sp = sp;
newOrders.push(order);
if (newOrders.length === orders.length)
callback(null, newOrders);
});
});
} else {
newOrders.push([]);
}
},
function(newOrders, callback) {
var restArr = []
//get sum of all orders of each restaurant and add into restArr
callback(null, restArr);
},
function(restArr, callback) {
callback(null, newOrders);
}
], function(err, result) {
fn(result);
});
});
});
};
我的职能:
答案 0 :(得分:0)
使用Express方式处理回调问题
在你的路线
app.get('you/route',fetchDateWiseReport(), second(),finalReturningREsult())
你的第一个函数将在req.body.firstResult中执行第一个异步循环函数assiggn reult并传递给第二个函数。等等