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%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
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.
Tags und Links javascript node.js loops callback