我想要來自多個集合的數據,然後想合併所有數據。我正在使用異步模塊進行順序執行。我在此代碼編寫代碼就像async.forEach iteration
var newArray = new Array();
common.findAllById('list',{'boardId': parseInt(bId)},function(err,result){
if(err) console.log(err);
else{
if(result != null){
async.forEachSeries(result, function (res, callback){
common.findAllById('cards',{'listId':parseInt(res.listId)},function(err,temp){
if(err){ callback("errr"+err);}
else{
var arr = new Array();
async.forEachSeries(temp, function(tmp,callbackFn){
common.findAllById('checklist',{'cardId':parseInt(tmp.cardId)}, function(err,r){
if(err){
callbackFn("errr"+err);
}
else{
if(r !== null){
console.log("r:");
tmp.checklists = r;
arr.push(tmp);
callbackFn(err);
}
}
});
},function(err){
console.log('arr');
res.cards = arr;
console.log(res);
});
newArray.push(res);
callback(err);
}
});
}, function (err){
console.log('after:');
console.log(newArray);
return response.send(newArray);
});
}
}
});
完成內(第二)foreach循環回調稱爲第一foreach循環sholud但第二foreach循環的第一循環的回調的第一個循環之後函數之後被調用,然後將其與第二的foreach繼續循環迭代。這段代碼有什麼錯誤,請幫助我。 預先感謝您!
應使用流量控制的圖書館之一('NPM安裝seq'會做),這個代碼是很難可讀真的考慮 – framp 2012-07-04 00:01:22