Es scheint nicht möglich zu sein, Argumente an die erste Funktion im Wasserfall zu übergeben.
Könnte dies auf andere Weise erfolgen, da ich wirklich den ersten brauche, um einige Variablen zu erhalten.
Definieren Sie eine Dummy-Funktion, die Ihre Funktion mit den benötigten Variablen aufruft. So was:
async.waterfall([
function(cb)
{
cb(null, username, password);
},
Authenticate,...
Toller Hack =)
Eine Alternative besteht darin, async.apply(authenticate, username, password) zu verwenden, um die Argumente im Voraus zu binden.
async.waterfall([
async.apply(func1, "1")
], function (err, result) {
});
function func1(par1, callback) {
console.log(par1); // Outputs: 1
}
@adisos danke! +1
Hmmm ... Tolle Hacks, wirklich ... Ich war auch verwirrt, weil ich keine Parameter an die erste Wasserfallfunktion übergeben konnte ... Aber sollte dies nicht als Fehler / Inkonsistenz an den Modulautor (caolan) gesendet werden? Die ganze Ordentlichkeit dieser Methode verschwindet mit diesen Hacks... :-/
Dies ist die beabsichtigte Verwendung dieser Methoden. async.apply wurde hauptsächlich für diesen Anwendungsfall hinzugefügt AFAIK
Die Dokumentation enthält Beispiele für die Verwendung von Wasserfall mit einer Funktion, aber wenn jemand die Readme-Datei ändern möchte, um die Verwendung von Wasserfall mit Apply zu zeigen, wäre das fantastisch
:+1: @adisos bewerben ist
Falls noch jemand dieses Problem hat, funktioniert die Konstantenfunktion sehr gut.
async.waterfall([
async.constant(42),
function (value, next) {
// value === 42
},
], callback);
Weitere Informationen finden Sie unter http://caolan.github.io/async/docs.html#.constant
Hilfreichster Kommentar