Async und Rekursion in nodejs

Beginnend mit express und Mungo ich oft tun müssen, um einige batch-Operationen auf collections.
Allerdings ist es in der Regel beinhaltet Rückrufe, die einen Schmerz gegeben, wie die Parallelität wird codiert in nodejs.
also im Grunde

//given a collection C 
var i = 0;
var doRecursive = function(i){
    if(i<C.length){
      C[i].callAsync(err,result){
        i=+1;
        return doRecursive(i);
       }
    }else{
      return done();
    }
}
doRecursive(i);

Nun ich kann mich nicht erinnern, was ist die max Stapel, bevor ich eine stackover-flow mit Knoten , aber ich denke mit 10 000 Elementen , die es nicht tun.
Ich Frage mich, ob es gibt andere Möglichkeiten, damit umzugehen, wenn ja , was sind Sie?
Dank

  • Gut, asynchrone Funktionen werden Ihnen bei der stack-überlauf, da der Rückruf in einem anderen call-stack. Aber, durch ausbrechen in einen anderen stack, macht es return eher nutzlos.
  • werfen Sie einen Blick auf async
InformationsquelleAutor mpm | 2013-07-12
Schreibe einen Kommentar