条件异步瀑布

Conditional Async Waterfall

基于答案 ,它具有基于另一个父瀑布内部条件的异步瀑布。

在将参数传递给以下 function(condition, callback){} 时,参数传递如何工作。

  async.waterfall([
     callOne,
     callTwo,
     function (condition, callback) {
        if (condition > 0) {
            async.waterfall([
                callTest1
            ], callback);
        } else {
            async.waterfall([
                callTest3,
                callTest4
            ], callback);
        }
    },
    callThree,
    callFour,
    callFive,
], function (err, result) {
    if (err) {
        return res.status(400).jsonp({error: err});
    }
});

Q1。我想将 callTwo 返回的参数传递给 callTest1

Q2。如果我只有一个函数要调用,我还必须在 if 条件下使用 async.waterfall() 吗?

我使用 async.apply 将参数传递给 callTest1 函数。 例如:async.apply(callTest1.bind(self), arg1, arg2)

其中 callTest1 按以下顺序接受参数:(arg1, arg2, callback)