2016-12-23 7 views
0

私はNASAのOpen APIを使用する小さなアプリケーションで作業しています。私は現在、写真が返されているローバーに応じて、それぞれの要求に対してコントローラを持っています。これらの2つのコントローラを1つに組み合わせて、写真が返されるローバーを選択できるようにしたいと思います。Angularコントローラで2つのAPIリクエストを組み合わせる

app.controller('OpportunityController', function($scope, $http) { 

    // get date 
    let today = new Date(); 
    let dd = today.getDate() - 5; 
    let mm = today.getMonth() + 1; 
    let yyyy = today.getFullYear(); 

    if (dd < 10) { 
     dd = '0' + dd 
    } 
    if (mm < 10) { 
     mm = '0' + mm 
    } 
    today = yyyy + '-' + mm + '-' + dd; 

    // set variables 
    $scope.baseUrl = "https://api.nasa.gov/mars-photos/api/v1/rovers/"; 
    $scope.rover = ["Opportunity"]; 
    $scope.date_params = "/photos?earth_date=" + today; 
    $scope.searchParams = $scope.rover + $scope.date_params; 
    $scope.key = "&api_key=API_KEY"; 

    // request 
    $http.get($scope.baseUrl + $scope.searchParams + $scope.key) 
     .success(function(result) { 
      $scope.photos = result.photos; 
      console.log($scope.photos); 
     }) 
     .error(function(error) { 
      console.log(error); 
     }); 
}); 

app.controller('MarsController', function($scope, $http) { 

    // get date 
    let today = new Date(); 
    let dd = today.getDate()-1; 
    let mm = today.getMonth()+1; 
    let yyyy = today.getFullYear(); 

    if(dd<10) { 
     dd='0'+dd 
    } 
    if(mm<10) { 
     mm='0'+mm 
    } 
    today = yyyy+ '-' +mm+ '-' +dd; 

    // set variables 
    $scope.baseUrl = "https://api.nasa.gov/mars-photos/api/v1/rovers/"; 
    $scope.rover = ["Curiosity"]; 
    $scope.date_params = "/photos?earth_date=" + today; 
    $scope.searchParams = $scope.rover + $scope.date_params; 
    $scope.key = "&api_key=API_KEY"; 

    // request 
    $http.get($scope.baseUrl + $scope.searchParams + $scope.key) 
     .success(function(result) { 
      $scope.photos = result.photos; 
      console.log($scope.photos); 
     }) 
     .error(function(error){ 
      console.log(error); 
     }); 
}); 

答えて

0

は問題

$http.get($scope.baseUrl + $scope.searchParams + $scope.key) 
     .success(function(result) { 
      $scope.photos = result.photos; 
      console.log($scope.photos); 
     }) 
     .error(function(error) { 
      console.log(error); 
     }); 
$http.get($scope.baseUrl + $scope.searchParams + $scope.key) 
     .success(function(result) { 
      $scope.photos = result.photos; 
      console.log($scope.photos); 
     }) 
     .error(function(error) { 
      console.log(error); 
     }); 
を参照してくださいいけません
関連する問題