2016-11-05 2 views
0

У меня есть следующий HTTP GET запрос: -Как реализовать обещание для получения запроса http?

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

делается запрос несколько раз, и я хочу для обработки ждать, пока все запросы HTTP не выполняются. Для этого я хочу реализовать обещания, а затем возвращать обещания в конце функции. Как я могу реализовать обещания по этому запросу http get?

+0

См. [Справочник API службы AngularJS $ q - $ 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, чтобы получить новое обещание, которое заканчивается, как только все будет сделано.

Смежные вопросы