Как я узнаю, что все мои запросы $ http GET выполнены? - PullRequest
0 голосов
/ 30 мая 2018

Использование AngularJs 1.6.5 Я делаю несколько вызовов $ http GET, используя цикл for.Вот код: -

for(var i=0; i < 11; i++){  
    var url = "/api/learner_qa/" + i;   
    $http.get(url).then(successCallback, errorCallback);    
    function successCallback(response){
        console.log(response);
    };
    function errorCallback(error){
        console.log(error);
    };
};

Что я хочу сделать, это вызвать функцию, когда все запросы GET завершены.

Я сослался на опубликованный ответ здесь и хотите знать, как это можно сделать с массивом, как в моем случае?

1 Ответ

0 голосов
/ 30 мая 2018

Время, вероятно, возникнет, когда вам нужно разрешить несколько обещаний одновременно, это легко достигается с помощью $q.all(), передавая либо массив, либо объект обещаний, который будет вызывать .then() после разрешения обоих:

Вы можете принять array и push свои http звонки на него

var array  = [];
for(var i=0; i < 11; i++){  
    var url = "/api/learner_qa/" + i;   
    array.push($http.get(url))
};

$q.all(array).then(function(response) {
     console.log(response)
}).catch(function(error){
    console.log(error)
});

Используя эту code, response будетПриходите, как только все ваши requests будут успешными.

Вот пример документации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...