2017-04-04 24 views
0

我有的,其显示每个请求20项代码块。

.controller('MovieController',function ($scope,$http) { 

    $scope.movies = $http.get(https://api.themoviedb.org/3/movie/popular&page=1) 
     .then(
      function (response) { 
       $scope.movies = response.data.results; 

      } 

     ); 
}) 

而不是页面= 1,如果我把页面= 2,我会得到另一组20个项目,依此类推。如果我想在单个页面中获取多个请求,如何在$ http.get中迭代?我希望在显示第1 20

+0

的(HTTP [内$ http.get迭代]可能重复发送多个HTTP请求://stackoverflow.com/questions/43132269/iterating-inside-a-http-get) – 9094US

回答

1

有链接回调函数在一起,以实现所期望的结果的经典方式后,显示第二20个项目。或者有更好的方法,它使用$ q.all()。你应该使用$ q.all来一次

var reqAr = []; 
for (var i = 0; i <= 1; i++) { 
    reqAr.push($http.get("https://api.themoviedb.org/3/movie/popular&page=" + i)) 
} 
$q.all(reqAr).then(function(response) { 
    console.log(response[0].data) //page 1 content 
    console.log(response[1].data) //page 2 content 
    for(var j = 0; j < response.length; j++) { 
     $scope.movies = $scope.movies.concat(response[j].data.results); 
    } 
})