2016-03-29 2 views
4

У меня есть вопрос относительно передачи аргументов в async.waterfall() третьей функции, а не первой функции. Так, например, следующим образомАсинхронный водопад, проходящий в аргументах

async.waterfall([ 
    first, 
    second, 
    async.apply(third, obj) 
], function(err, result){}); 

Теперь можно использовать «OBJ» в качестве аргумента в функции имени третьего, а также использовать аргументы, переданные вниз от обратного вызова функции с именем второй

ответ

13

Да. Вы можете сделать это. Смотри ниже. см. последнюю функцию.

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'); 
    } 
+0

Да, это сделало это, спасибо @Deendayal – RRP