2016-07-19 12 views
0

Ich bin auf der Suche nach einer Möglichkeit, async.js Schleife früh zu beenden, bevor alle Rückrufe aufgerufen werden. Gibt es dafür eine eingebaute Funktion? Wenn nicht, gibt es einen Weg, um die gewünschte Funktionalität zu erreichen?Ist es möglich, die async.js-Schleife vorzeitig zu beenden?

async.forEachOf(children, function(child, i, cb){ 

    if (condition == true) { 

     // finish early - call cb() for all iterations 

    } 

    cb() 

}, function(err){ 


}) 
+0

Werfen Sie einen Blick hier http://stackoverflow.com/questions/16423462/is-there-a-way-to-stop-execution-of-next-function-of-series-with- async-in-nodejs – AshBringer

+0

Sie können eine asynchrone JS for-Schleife selbst erstellen, wenn Sie die Funktionalität wollen, brauchen Sie ein Geigenbeispiel dafür? – Dellirium

+0

Es würde sehr geschätzt werden, wenn Sie mir mit einem Geigenbeispiel helfen. – sawa

Antwort

0

Ja, es ist möglich, sollten Sie einen Fehlerparameter in Ihrer Callback-Funktion wie folgt passieren:

async.forEachOf(children, function(child, i, cb){ 
    .... 
    cb(condition) 
}, function(err){ 
    // Error handling 
}) 

wenn die Bedingung wahr ist die Schleife zu stoppen.

async.forEachOf documentation