同步循环发送http请求 - angular.js

时间:2016-04-17 14:00:33

标签: javascript angularjs

我正在尝试发送多个$http请求,请求位于.service

app.service('servlet', function($http){
    var base = "http://myUrl.com" // real url is private
     //queryParams for GET request
    this.sendGet = function(queryParams){
    var promise = $http({method:'GET', url:base, params:queryParams}).then(
     (function(response){
       return response.data;     
    });
    return promise; // var promise 
  }
});

调用sendGet()正常工作并返回promise但是当我在循环中使用它时:

console.log($scope.items.length) // 5
for(var i =0 ; i<scope.items.length; i++){
//scope.items - query params
console.log(scope.items[i]);
  servlet.sendGet(scope.items[i]).then(function(data){
   console.log(i);
 });
};

日志显示:

object{param1 : 1} //scope.items[i]
object{param2 : 2} //scope.items[i]

然后是console.log(i) - 在循环中的servlet内部。

[4]5

0 个答案:

没有答案