Выполните функцию только после данных из $http.получить()

Im работает с angularjs $http.запрос get. При загрузке страницы im выполняет два вызова REST api.Api выполняется правильно.У меня есть кнопка, которая использует данные из двух вызовов REST api.Я столкнулся с проблемой, которая является моей функцией get executed before the $http.получить () ответ и я не в состоянии получить желаемый результат.Как я могу сделать мою функцию, чтобы выполнить после ответа от двух $http.запрос get. Может кто-нибудь помочь.я застрял в этой точке

 var responsePromise5 = $http.get("1st rest call");                   
   responsePromise5.success(function(data1) {
         $scope.id = data1.platform.user.id;
	     var responsePromise = $http.get("2nd rest call");            
            responsePromise.success(function(data2) 
             {
             console.log(data2.platform.record);
             $scope.records= data2.platform.record;  		  
             });
             responsePromise.error(function(data2, status, headers, config) {
             alert("AJAX failed!");
             });	  
           });
            responsePromise5.error(function(data1, status, headers, config) {
             alert("AJAX failed!");
        });	
$scope.hello = function(a,b)
{
  //here i want to call another rest api
  }
<div ng-repeat="record in records">
  {{record.name}}
  <button ng-init=hello(record.unin,id)>abc</button>
</div>  

2 ответа

  1. Вызовите любой код вы хотите вызвать после того как вы получаете ответ вашего запроса http внутрь thenкак ниже

    $http.get('first http request').then(function(res){
      $http.get('second http request').then(function(res2){
         // your code
        })
      })