我有一个关于将async.waterfall()中的参数传递给第三个函数而不是第一个函数的问题。例如,如下所示
async.waterfall([
first,
second,
async.apply(third, obj)
], function(err, result){});
现在可以在名为 third 的函数中使用“obj”作为参数,并且还可以使用从名为 second <的函数的回调传递下来的参数/ p>
答案 0 :(得分:22)
是。你可以做到这一点。见下文。看到最后一个功能。
var async = require('async');
async.waterfall([
myFirstFunction,
mySecondFunction,
async.apply(myLastFunction, 'deen'),
], function (err, result) {
console.log(result);
});
function myFirstFunction(callback) {
callback(null, 'one', 'two');
}
function mySecondFunction(arg1, arg2, callback) {
// arg1 now equals 'one' and arg2 now equals 'two'
callback(null, 'three');
}
function myLastFunction(arg1, arg2, callback) {
// arg1 is what you have passed in the apply function
// arg2 is from second function
callback(null, 'done');
}