2017-04-04 21 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); 
    } 
})