我正在使用下面的for循環中的角度。我的問題是,使用$ http服務後,forItr計數器反映爲增加。
代碼:
var app = angular.module('noviceApp', []);
app.controller('noviceAppController', ['$scope', '$http', function ($scope, $http) {
var iterations = 1;
$scope.myFunction = function() {
for(var forItr = 0; forItr < iterations; forItr++) {
var params = {};
params.testStr = forItr;
console.log("foritr before post: " + forItr);
$http.get('http://localhost:9200/_stats/index,store')
.success(function(data, status) {
console.log("foritr after post: " + forItr);
});
}
}
}]);
日誌:後前 foritr:0 foritr後後:1
如何forItr成爲 「1」,如果還沒有完成的循環?無論如何要引用計數器的for循環值嗎?
非常感謝
'$ http'是一個異步調用,意義做在角的方式通過更換
foreach
在成功函數有機會觸發之前,您的代碼將繼續運行。 – azium[AngularJS:循環POST請求並將每個索引傳遞到相關響應中]的可能重複(http://stackoverflow.com/questions/17256513/angularjs-loop-post-requests-and-pass-each-index-into- related -response) –