javascript - AngularJS如何在多个ajax请求成功后调用函数?

标签 javascript angularjs

我正在使用 for 循环发送 ajax 请求以删除数据表中的多个项目。在所有请求都成功后,有什么办法可以调用函数吗?在每次请求后调用函数都会给我的数据表带来一些问题,如果在循环外调用函数导致它们是异步请求,它也不起作用

    for(var i = 0; i < $scope.selectedRows.length; i++) {
      $http({
        method: 'DELETE',
        url: $scope.url + '/' + $scope.selectedRows[i].name + '?recursive=true'
      })
      .then(function(res) {
       // $scope.clearSelect();
       // $scope.dtInstance.rerender();
       // $mdDialog.hide();
      }, function(res) {
        console.log('error');
      })
    }

最佳答案

您应该收集请求的 promise 并使用

$q.all(promises).then(...)

看这里:wait for all $http requests to finish

关于javascript - AngularJS如何在多个ajax请求成功后调用函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35884668/

相关文章:

javascript - 使用 Javascript 关闭所有弹出窗口

javascript - 使用 environment.{{ENV}}.ts 将 Angular5 应用程序部署到 Tomcat

javascript - 函数如何通过 [[FunctionLocation]] 到达外部脚本?

javascript - Angularjs - 如何从服务器 json 答案设置模板内容?

javascript - 使用 Webpack 编译脚本后控制台中出现更好的错误

javascript - 好奇 angularJs 是否有更好的方法来计算复选框的数量

javascript - 停止加载单击的链接,并让周围的元素使用 Angularjs ng-click 处理该操作

javascript - 如何从 Javascript 或 AngularJS 的字符串数组中删除特定的字符集,使其不重复?

javascript - worker 职能与工厂职能

javascript - 使用 header 身份验证 token 通过 REST API 获取 PDF 并在 iframe 中显示