一尘不染

当每个函数返回deferred.promise时,如何链接函数数组的执行?

node.js

我已经使用延迟模块在Node.js中创建了我的第一个延迟对象,当我将结果传递给下一个函数并触发解析和拒绝时,它的效果很好。当每个函数返回deferred.promise时如何链式执行函数数组?我有函数的输入参数数组和第一个函数的输入参数,每个下一个函数都从上一个获取参数。

它的工作方式类似于f1(100).then(f2).then(f3),但是当我有n个函数时该如何工作。


阅读 194

收藏
2020-07-07

共1个答案

一尘不染

您需要在循环中构建一个Promise链:

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