Search code examples
javascriptnode.jsdeferred

How to chain execution of array of functions when every function returns deferred.promise?


I have created my first deferred object in Node.js using deferred module and it works great when I pass result to next function and trigger resolve and reject.How to chain execution of array of functions when every function returns deferred.promise ? I have like input parameters array of functions and input parameter for first function and every next function get parameter from previous.

It works like f1(100).then(f2).then(f3), but how when I have n number of functions.


Solution

  • You need to build a promise chain in a loop:

    var promise = funcs[0](input);
    for (var i = 1; i < funcs.length; i++)
        promise = promise.then(funcs[i]);