dob*_*ler 1 javascript promise ecmascript-6 es6-promise
有了ES2016,我们现在有了承诺,这很棒.不幸的是,该功能非常简约,并且没有像async包中可用的系列或瀑布那样.如果有一个软件包为promises提供此功能,或者人们通常如何处理这些用例?
要连续执行返回promise的函数数组,您可以使用Array.prototype.reduce:
let final = functions.reduce((prev, f) => prev.then(f), Promise.resolve());
Run Code Online (Sandbox Code Playgroud)
"initial"参数Promise.resolve()用于为promise链提供种子,否则(如果传递的数组只包含一个函数),则.reduce不会调用回调.