Условный асинхронный водопад - PullRequest
0 голосов
/ 03 июня 2018

На основе ответа здесь , который имеет асинхронный водопад, основанный на условии внутри другого родительского водопада.

Как будет работать передача аргументов при передаче аргументов в 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 голосов
/ 05 июня 2018

Я использовал async.apply для передачи аргументов в функцию callTest1.Например: async.apply(callTest1.bind(self), arg1, arg2)

, где callTest1 принимает аргументы в следующем порядке: (arg1, arg2, callback)

...