2016-11-05 19 views
0

我有以下的HTTP GET請求: -如何實現http獲取請求的承諾?

$http({ 
    method: 'GET', 
    url: 'getData.php', 
    params: {bill: 'Active'} 
}) 
.then(function (response) { 
    bill=response.data.results; 
}); 

的請求進行多次,我想對於處理要等到所有的http請求完成。爲此,我想實現承諾,然後在函數結束時返回承諾。我怎樣才能實現這個HTTP獲取請求的承諾?

+0

請參閱[AngularJS $ q服務API參考 - $ q.all](https://docs.angularjs.org/api/ng/service/$q#all)。 – georgeawg

回答

0
var arr=[]; 
arr.push(callHttp()); 
arr.push(callHttp()); 
arr.push(callHttp()); 

promise.all(arr).then(....) 


function callHttp(){ 
return $http({ 
    method: 'GET', 
    url: 'getData.php', 
    params: {bill: 'Active'} 
}) 
} 
0

您的請求(.then(...)之前的所有內容)已經一個承諾。

將您的請求數組放入Promise.all以獲得一旦完成所有事情就完成的新承諾。