我正在考虑建立一个承诺队列的场景:
//Let's assume that promises is an array of promises
var promiseQueue = [];
for (var promise of promises) {
if (promiseQueue.length) promiseQueue[promiseQueue.length - 1].then(promise);
promiseQueue.push(promise);
}
我正在考虑实施
function
打电话
resolver
:
function *resolve() {
var promise;
while (promise = yield) Promise.resolve(promise);
}
然后迭代:
var promiseGenerator = resolve();
问题是,这里的for..将负责实际迭代:
for (var r of promiseGenerator) {
}
在上面的代码中,生成器将成功迭代,但不幸的是,我不知道在for..的迭代中成功地将参数传递给此生成器的方法。
我想澄清一下,我不需要另一种选择,我非常清楚我们可以这样做:
for (var p in promiseQueue) promiseGenerator.next(promiseQueue[p]);
我特别有兴趣知道在执行for..of循环时是否可以将参数传递给生成器。