wie async.js jede Schleife zu brechen?

8

Hallo, ich verwende async -Modul von node.js, um asynchron eine for-Schleife zu implementieren.

Meine Frage ist: Wie unterbricht man die Ausführung der Schleife und verlässt die Schleife? Ich habe versucht, return , return false , aber kein Glück zu geben.

Hier ist der Beispielcode:

%Vor%     
mithunsatheesh 18.02.2013, 14:52
quelle

2 Antworten

5

Es gibt nicht wirklich eine "Schleife" als solche, aus der man ausbrechen könnte. Alle Ihre Artikel in Ihrer Sammlung werden parallel verwendet

Die einzige Möglichkeit, die "Schleife" zu "brechen", besteht darin, den Callback mit einem Fehlerargument aufzurufen. Da es nichts gibt, was dich daran hindern könnte, andere Dinge hinein zu stecken, könntest du es ein wenig hacken.

Aus der Dokumentation:

  

Beachten Sie, dass diese Funktion den Iterator auf jedes Element in bezieht   Parallel gibt es keine Garantie, dass der Iterator funktioniert   in der Reihenfolge vervollständigen.

Auch wenn Sie einen Fehler zurückgeben, haben Sie möglicherweise noch mehrere ausstehende Anforderungen, sodass Sie die Anzahl der Elemente, die Sie verwenden, wirklich auf einmal begrenzen möchten. Um die Anzahl der ausstehenden Anfragen zu begrenzen, können Sie jede Serie oder jedes Limit verwenden.

Zum Beispiel:

%Vor%

PS: Wenn Sie nicht asynchron arbeiten, verwenden Sie Unterstriche

    
AndyD 18.02.2013 15:06
quelle
5

async.until ruft die Funktion wiederholt auf, bis der Test wahr zurückgibt. Daher muss test den Wert true zurückgeben, damit Sie die Schleife verlassen. Dies ist das Gegenteil von async.whilst , das wiederholt ausgeführt wird, während der Test als wahr ausgewertet wird.

async.each ruft die Funktionen parallel auf, daher spielt es keine Rolle, was zurückgegeben wird. Es ist keine Schleife, die Sie unterbrechen können, sondern ein Iterator, der das Array durchläuft. Die Bedingung, dass async.each nicht mehr verwendet wird, sollte für async.until getestet werden, und Sie sollten die Regeln selbst durchlaufen.

    
user568109 18.02.2013 14:57
quelle

Tags und Links