【发布时间】:2018-09-16 01:55:06
【问题描述】:
如何动态创建一系列 Promise 并让它们按顺序执行?
pseudocode
for x=0 to maxValue
promiseArray.push(createNewPromise(x))
executeAllPromisesSequentially(promiseArray)
在哪里
executeAllPromisesSequentially is functionally equivalent to
promise1()
.then(promise2)
.then(promise3)
etc
...
【问题讨论】:
-
是的,你可以通过链接你在循环中创建的承诺来做到这一点......
.push(promise = promise.then(() => createNewPromise(x)))- 当然,你需要一个初始值promise来启动链......比如说Promsie.resolve()例如......如果你想访问解析的值,它会变得有点复杂 -
所有的promise都只有副作用还是你想知道它们的resolve值?
-
让它们按顺序执行?您的意思是按顺序解决它们?因为
promise将在它创建的那一刻被执行。 -
如果它符合您的要求,请检查此stackoverflow.com/questions/49606387/…
标签: javascript node.js promise es6-promise