在AngularJS中循环$ http.get请求

时间:2019-03-19 21:04:54

标签: javascript angularjs api

在构建角色展示柜时,我正在使用Marvel API,但是Marvel将单个get请求中可以检索的结果数量限制为100。

我尝试将其放入for循环中,但无法正常工作。我尝试实现建议作为解决方案while or for loop with $http.get

的方法

我的代码:

var loopRequests = function(i){
      $scope.offsetParam = 0;
      $http.get($scope.baseUrl, {
        params: {
          offset: $scope.offsetParam,
          limit: 100,
          ts: $scope.timeStamp,
          apikey: $scope.publicKey,
          hash: $scope.hash
        }}).then(function(response){

        $scope.characters = response.data.data.results;

      });
}

for(var i = 0; i < 2; i++){
  loopRequests(i);
  $scope.offsetParam += 100;
}

这是我要实现的目标:

  • 请求1:偏移量0,限制100
  • 请求2:偏移100,限制100
  • 请求3:偏移200,限制100
  • 请求4:抵销300,限制100等...

任何帮助,将不胜感激。

//编辑:它需要等待上一个请求完成

1 个答案:

答案 0 :(得分:0)

我认为您需要传递offset参数,否则它将被for循环覆盖。

您可以使用$ q.all()等待承诺列表:

require_once(__DIR__."/includes/header.php");