【发布时间】:2017-07-27 17:05:54
【问题描述】:
我尝试在 for 循环完成后调用函数 $scope.getThisFunction($scope.Num),我尝试了下面的代码但没有工作。有什么建议吗?
for(var i = 0; i < $scope.selection.length; i++) {
$http({
method: "POST",
url: '/url/' + $scope.Num + '/' + $scope.selection[i]
}).then(function mySucces(response) {
if(i == $scope.selection.length - 1) {
$scope.getThisFunction($scope.Num); //not working
}
}, function myError(response) {
alert("SORRY, SOME TECHNICAL ERROR OCCUR");
});
}
【问题讨论】:
-
在 for 循环中创建 HTTP 帖子不是一个好主意。您应该重写您的 API 以在一个唯一调用中接受多个
selections。 -
@Pratyush Pranjal 您希望
$scope.getThisFunction($scope.Num)在循环的最后一个元素或您的帖子的最后回复中被调用?如果您希望在最后一个帖子回复时调用它,请尝试使用 promises($q.all)
标签: javascript angularjs http angular-promise