2016-06-22 6 views
0

In meiner Funktion auszuführen ich habe async Serie innerhalb async foreach rufen um das Endergebnis zu berechnen und meine json.is zu schaffen, dass möglicheWie async.each in async .series

async.series([ 
     function(callback) { 
     }); 
     }, 
function(callback) { 
     async.forEachSeries(temp,function(quest,callback) { 

     }, function(err) { 
      if (err) return next(err); 
     }); 
     callback(); 
    } 
], 
    function(err) { 
     if (err) return next(err); 
     res.json(output); 
}); 

Antwort

0

Sie sollten in der Lage sein Verschachteln Sie so viel Async-Funktionen ineinander, dass es jedoch besser ist, eine Namenskonvention zu verwenden, damit Sie leicht nachvollziehen können, welche Callbacks an welcher Stelle übergeben werden und um Kollisionen durch das Hochziehen zu vermeiden. Also im Grunde sollte diese Arbeit, wie man erwarten würde:

async.series([ 
 
    function first(seriesCallback) { 
 
    seriesCallback(); 
 
    }, 
 
    // other functions in series 
 
    // ... 
 
    function (seriesCallback) { 
 
    var someArray = []; 
 
    async.each(someArray, function (value, eachCallback) { 
 
     // process the value 
 
     // return an error if there is one 
 
     eachCallback(err); 
 
    }, function(err) { 
 
     // add any additional processing you might need 
 
     // pass the control to the parent async method and handle the errors 
 
     // in a more central place if there is an error here it will 
 
     // be processed in onSeriesDone as well as all other errors 
 
     seriesCallback(err); 
 
    }); 
 
    }], function onSeriesDone(err) { 
 
    next(err); 
 
    });