Je veux sauter une fonction d'une chaîne de cascade Fonctions avec Mon code ressemble à ceci: p> asyncjs code> dans
Nodejs code>.
if(!myBool){
return next();
}
5 Réponses :
Une alternative peut être: où Autre que cela, vous ferez mieux de le faire explicitement, évitez de rendre votre code trop compliqué, plus simple est généralement meilleur p> mise à jour: p> f1 code>,
f2 code> et
f3 code> sont vos fonctions . P>
Merci pour votre réponse. Mais que si Mybool est défini dans la fonction F1 pendant la cascade?
Dans ce cas, je tirerais soit tirer F2 code> dans
F1 code> (je vais mettre à jour) ou simplement utiliser le conditionnel dans
F2 code> comme vous avez mentionné (le Alternative que vous vouliez éviter)
Je pense que cela devrait fonctionner:
var finalCallback = function(err, result){ if(err) // handle error.. else console.log('end! :D'); } async.waterfall( [ function step1(callback){ // stuff callback(null, someData); }, function step2(someData, callback){ if(skip_step_3) finalCallback(null, someData); else callback(null, someData); }, function step3(moreData, callback){ // more stuff callback(null, moreData); } ], finalCallback )
en utilisant if-async Module Votre code ressemblera à ceci:
var async = require('async') var ifAsync = require('if-async') async.waterfall([ foo, ifAsync(p1).then(c1).else(c2), bar ], function(err) {})
Je recommanderais d'utiliser clojurescript qui a un superbe bibliothèque de base-async qui rend la vie super Facile lorsque vous traitez avec des appels ASYNC.
Dans votre cas, vous écririez quelque chose comme ceci: p> notez le Le code bloque d'abord sur la première fonction ASYNC. Ensuite, si le résultat est vrai, il exécutera la deuxième fonction ASYNC sur cela également. Enfin, il exécutera la troisième fonction ASYNC et bloquera à ce sujet. P> P> go code> macro qui causera Le corps à courir de manière asynchrone et la fonction
qui bloquera jusqu'à ce que les fonctions ASYNC reviennent. P>
Je suis en retard pour répondre, mais async-if-sinon pourrait vous aider.
échantillon code p>