在我的情况下如何处理多个http请求?

时间:2014-11-03 05:44:20

标签: javascript angularjs

我对http请求有疑问。我需要发出多个http请求并获得最终结果

我的代码

var customer[];

var url = '/api/project/getCustomer';
    getProject(url)
        .then(function(data){
             var id = data.id 
             //other codes
             getCustomer(id) 
                 .then(function(customer) {
                     //other codes
                     customer.push(customer)
                  }


         }



var getProject = function(url) {
    return $http.get(url);
}

var getCustomer = function(id) {
    return $http.get('/api/project/getDetail' + id);
}

我的代码有效但需要在我的代码中附加多个.then方法,我想知道是否有更好的方法来执行此操作。非常感谢!

1 个答案:

答案 0 :(得分:2)

有一种更好的方法:)

getProject(url)
  .then(function(data){
     var id = data.id 
     //other codes
     return getCustomer(id);
  })
  .then(function(customer) {
     //other codes
     customer.push(customer)
  });

这可行,因为.then会返回一个承诺,因此您可以依次.then