我对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
方法,我想知道是否有更好的方法来执行此操作。非常感谢!
答案 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
。