【发布时间】:2017-12-09 10:14:52
【问题描述】:
我想并行执行一个 Promises 数组,然后等到所有 Promise 都执行完毕。
这行得通:
var promises = [];
objects.forEach(function(object) {
let promise = new Parse.Promise.as()
.then(
function() {
return destroy(object);
}
);
promises.push(promise);
});
return Parse.Promise.when(promises);
但是,如果我使用 for (object of objects) {...} 而不是 objects.forEach(function(object) {...}); 它将不起作用。对于数组中的每个 Promise,destroy(object); 在数组中的第一个对象上执行:
var promises = [];
for (object of objects) {
let promise = new Parse.Promise.as()
.then(
function() {
return destroy(object);
}
);
promises.push(promise);
});
return Parse.Promise.when(promises);
这是为什么呢?
【问题讨论】:
-
显示不起作用的代码
标签: javascript foreach promise parse-server for-of-loop