0
В node.js, я хочу иметь один foreach async.parallel внутри другого. Однако я получил ошибку «callback уже был вызван» (посмотрите на комментарий к моему коду). Я хочу, чтобы обратный вызов внешнего вызова вызывался после завершения внутренней операции. Как я могу это сделать?NodeJS async.parallel внутри другого async.parallel
async = require("async");
var asyncTasks = [];
var items = [];
/* push elements to items */
items.forEach(function(item){
var asyncTasks2 = [];
var items2 = [];
asyncTasks.push(function(callback2){
item.someAsyncCall(function(){
/* push elements to items2 */
items2.forEach(function(item2){
item2.someAsyncCall(function(){
callback2();
})
}
asyncTasks2.push(function(callback2){
setTimeout(function(){
callback2();
}, 100000);
});
async.parallel(asyncTasks2, function(){
// All tasks are done now
doSomethingOnceAllAreDone();
callback(); // callback was already called
});
});
});
});
asyncTasks.push(function(callback){
setTimeout(function(){
callback();
}, 100000);
});
async.parallel(asyncTasks, function(){
// All tasks are done now
doSomethingOnceAllAreDone();
});
Read http://stackoverflow.com/questions/25712767/nesting-node-async-eachseries –