如何在页面加载Angular JS的单个控制器中进行两次https调用

时间:2016-07-14 06:42:56

标签: angularjs

我是Angular JS的新手

我试图在页面加载时进行两次API调用,但是一旦得到响应,我想一个接一个地做,我想调用另一个异步调用。我的服务如下所示

你能告诉我什么是实现这一目标的最佳方法。

(function(){
  "use strict";
   var APIservice = function($http,$base64,UtilService,$rootScope){
         UtilService.setHeaders($rootScope.globals.currentUser.authdata);
        var DataProvider = function(method,url,data){
            return $http({
                       method: method,
                       url: url,
                       data:data
                  }).then(function(response){
                     console.log(response);
                        return response.data;
                    });
        };
        return {
            DataProvider:DataProvider
        }
   }
   var module = angular.module('expframework');
   module.factory("APIservice",APIservice);
}());

先谢谢

1 个答案:

答案 0 :(得分:2)

使用promise chaining:

APIservice.DataProvider('GET', firstUrl).then(function(data1) {
    return APIservice.DataProvider('GET', secondUrl);
}).then(function(data2) {
    // ...
});