条件异步瀑布

时间:2018-06-03 19:48:09

标签: javascript node.js callback async.js

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

在将参数传递给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。如果我只有一个函数可以调用,我还必须在async.waterfall()条件下使用if

1 个答案:

答案 0 :(得分:0)

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

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