Я хочу данные из нескольких коллекций, а затем хочу объединить все данные. Я использую асинхронный модуль для последовательного выполнения. я написал код вроде
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, который вызывается, но после первой итерации второго цикла foreach вызывается обратный вызов первого цикла, а затем он продолжается со второй итерацией цикла foreach. В чем ошибка в этом коде, пожалуйста, помогите мне.
заранее спасибо!