2017-04-04 9 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内でどのように反復処理するのですか?最初の20を表示した後に2番目の20個の項目を表示したい。

+0

[http http.get](http ://stackoverflow.com/questions/43132269/iterating-inside-a-http-get) – 9094US

答えて

1

コールバック関数を連鎖させて目的の結果を得る古典的な方法がある。 $ q.allを使って一度に複数のhttpリクエストを送信する必要があります。

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); 
    } 
}) 
関連する問題