Javascript AngularJS如何检查多个http请求是否完成,以及如何在所有响应完成后执行某些操作

Javascript AngularJS如何检查多个http请求是否完成,以及如何在所有响应完成后执行某些操作,javascript,angularjs,Javascript,Angularjs,嗨,我正在通过for循环发送HTTP请求,我想知道在所有响应出现之后我如何做一些事情 这是我的密码 $scope.totalIdSet = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23...ect] total id count will be more than 200 for (var k = 0; k < $scope.totalIdSet.length; k++) { MydocumentsServi

嗨,我正在通过for循环发送HTTP请求,我想知道在所有响应出现之后我如何做一些事情

这是我的密码

$scope.totalIdSet = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23...ect] total id count will be  more than 200

for (var k = 0; k < $scope.totalIdSet.length; k++) {

MydocumentsServices.downloadDoc($scope.totalIdSet[k], $scope.loggedUserInfo.access_token).then(function (res) {

                }, function () {

                });
            }
$scope.totalIdSet=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23…等]总id计数将超过200
对于(变量k=0;k<$scope.totalIdSet.length;k++){
MydocumentsServices.downloadDoc($scope.totalIdSet[k],$scope.loggedUserInfo.access_token)。然后(函数(res){
},函数(){
});
}
您可以使用,以便运行异步函数并等待它们的响应,然后执行您想要的操作

比如说,

$q.all(arrayOfHttpFunctions).then(responses => {
    // Do your thing here
})

其中,
arrayOfHttpFunctions
是一个$http请求对象的数组。

请确保确实创建了
httpRequests的promise数组集合。同样,您必须从
downloadDoc
方法返回承诺。所以在这里,你可以使用
$q.all
,它将等待所有承诺实现

服务

function downloadDoc (totalIdSet, access_token) {
   return $http.post('someurl', totalIdSet, {headers: {Authorization: access_token}})
} 
控制器

$scope.totalIdSet = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23]
var promises = []
for (var k = 0; k < $scope.totalIdSet.length; k++) {
    var promise = MydocumentsServices.downloadDoc($scope.totalIdSet[k], $scope.loggedUserInfo.access_token)
    promises.push(promise)
}
$q.all(promises).then(function(responses) {
  console.log(responses)

}, function() {

});
$scope.totalIdSet=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]
var承诺=[]
对于(变量k=0;k<$scope.totalIdSet.length;k++){
var promise=MydocumentsServices.downloadDoc($scope.totalIdSet[k],$scope.loggedUserInfo.access\u令牌)
承诺。推动(承诺)
}
$q.all(承诺)。然后(功能(响应){
console.log(响应)
},函数(){
});