Ciao sto usando il modulo async di node.js per implementare un ciclo for in modo asincrono.come interrompere async.js ogni ciclo?
La mia domanda è: come interrompere l'esecuzione del ciclo e uscire dal ciclo? Ho provato a dare return
, return false
ma senza fortuna.
Ecco il codice di esempio:
async.until(
function() { return goal; },
function(callback) {
async.each(_rules,
function(rule,callback) {
var outcome = true;
.... some code ....
if(changes){
console.log("hi");
return false;// HERE I NEED TO BREAK
}
else
callback();
},
function(err){ }
);
if (!changes || session.process)
goal = true;
callback();
},
function(err){ callback(session); }
);
si può rompere con l'invio di qualcosa nel primo parametro della richiamata (che 'async' interpreterà come un "errore" e fermare il ciclo). Rendilo un valore noto (un * verit *) che puoi verificare nella callback finale per sapere che si trattava di un'interruzione e non di un errore. – Chad
potresti dirmi come fare qui? non posso chiamare 'callback (1)' al posto di 'return false;' riga che ho mostrato nel codice e lo interrompo – mithunsatheesh
Se non richiamate la callback in tutti i percorsi, il ciclo non terminerà mai. Se hai un percorso che non chiama la richiamata, allora stai sbagliando. Questo è asincrono, il tuo valore di ritorno non fa nulla. – Chad