Async: Passer des arguments à la première fonction de la cascade ?

Créé le 25 févr. 2011  ·  9Commentaires  ·  Source: caolan/async

Il ne semble pas possible de passer des arguments à la première fonction en cascade.

Cela pourrait-il être fait d'une autre manière, car j'ai vraiment besoin du premier pour obtenir des variables.

Commentaire le plus utile

async.waterfall([
    async.apply(func1, "1")
], function (err, result) {

});

function func1(par1, callback) {
    console.log(par1); // Outputs: 1
}

Tous les 9 commentaires

Définissez une fonction factice qui appelle votre fonction avec les variables dont vous avez besoin. Comme ça:
cascade.async.([

function(cb)
{
  cb(null, username, password);
},
Authenticate,...

Super hack =)

Une alternative consiste à utiliser async.apply(authentifier, nom d'utilisateur, mot de passe) pour lier les arguments à l'avance.

async.waterfall([
    async.apply(func1, "1")
], function (err, result) {

});

function func1(par1, callback) {
    console.log(par1); // Outputs: 1
}

@adisos merci ! +1

Hmmm... De super hacks, vraiment... Moi aussi j'étais perplexe de ne pas pouvoir passer de paramètres à la première fonction cascade... Mais, cela ne devrait-il pas être posté à l'auteur du module (caolan) comme un bug/une incohérence ? Toute la propreté de cette méthode disparaît, avec ces hacks... :-/

Il s'agit de l'utilisation prévue de ces méthodes. async.apply a été ajouté principalement pour ce cas d'utilisation AFAIK

La documentation donne des exemples d'utilisation de cascade avec une fonction, cependant, si quelqu'un souhaite modifier le fichier readme pour afficher l'utilisation de cascade avec application, ce serait fantastique

:+1: @adisos postuler c'est super ! Je n'utilise cette bibliothèque que depuis peu et je suis continuellement impressionné.

si quelqu'un a encore ce problème, la fonction constante fonctionne très bien.

async.waterfall([
    async.constant(42),
    function (value, next) {
        // value === 42
    },
], callback);

Pour plus d'informations, consultez http://caolan.github.io/async/docs.html#.constant

Cette page vous a été utile?
0 / 5 - 0 notes