【发布时间】:2016-12-12 01:39:55
【问题描述】:
我对@987654321@ 和AngularJS promises 没有太多经验。所以,这是我的场景
目标:
我需要在for 循环中调用$http 请求
(明显)问题
即使循环完成,我的变量仍然没有更新
当前实施
function getColumns(fieldParameters)
{
return $http.get("api/fields", { params: fieldParameters });
}
for(var i = 0; i < $scope.model.Fields.length; i++)
{
var current = $scope.model.Fields[i];
(function(current){
fieldParameters.uid = $scope.model.Uid;
fieldParameters.type = "Columns";
fieldParameters.tableId = current.Value.Uid;
var promise = getColumns(fieldParameters);
promise.then(function(response){
current.Value.Columns = response.data;
}, error);
})(current);
}
//at this point current.Value.Columns should be filled with the response. However
//it's still empty
我能做些什么来实现这个目标?
谢谢
【问题讨论】:
标签: javascript angularjs closures angular-promise