Tom*_*Tom 5 javascript promise angularjs angular-promise
我正在发出一系列 http 请求,当它们返回时,我需要将结果归档到列表对象中。我正在使用角度承诺。
因为 Promise 只会在 for 循环完成后解析,所以它们都会被归档到列表的最后一个索引中。
for (var i = 0;i < list.length; i+=1) {
Promise.do(action).then(function(result) {
list[i] //i is always at last index because the for loop has already completed
}
}
Run Code Online (Sandbox Code Playgroud)
$q.all我会尝试为此使用:
var promises = [];
for (var i = 0; i < list.length; i += 1) {
promises.push(Promise.do(action));
}
$q.all(promises).then(function(results) {
console.log(results);
});
Run Code Online (Sandbox Code Playgroud)
从文档中:
返回一个将使用值数组/散列来解析的单个 Promise,每个值对应于 Promise 数组/散列中相同索引/键处的 Promise。如果任何一个 Promise 以拒绝的方式解决,那么由此产生的 Promise 将以相同的拒绝值被拒绝。
| 归档时间: |
|
| 查看次数: |
5141 次 |
| 最近记录: |