【发布时间】:2014-07-14 18:33:39
【问题描述】:
我偶然发现了好几次,似乎找不到一个好的解决方案:
for (var i = types.length - 1; i >= 0; i--) {
api.get("test").then(function(res){
// do something with i here
$scope.var[i] = res;
});
};
当 then() 函数被触发时,迭代已经完成,结果只使用了 $scope.var[0],而不是 $scope.var[1]、$scope.var[2] 等。
我能想到的要么是把 i 变量作为函数的参数,然后用延迟返回它,要么使用回调,但两者都不是很好。有解决办法吗?
【问题讨论】:
标签: javascript angularjs q deferred