如何等待所有数据成功回调的多个 Promise

2023-12-05

我有这个 API 调用,但我没有收到我的数据successCallback按照我发送的顺序。

    for (var i = 0; i < data.length; i++) {
      $http.post('/api/bla/blabla', $.param(data[i]))
        .then(successCallback, errorCallback);
     }

    var successCallback = function (response) {
       /*
       receive data in random order.
       assume its being send / handled so fast, thats its random
       which gets done first.
       */
    };

我可以以某种方式等待接收所有数据,然后将其重新排序为原始顺序吗?或者还有其他解决方案。


Use $q.all以正确的顺序获取所有数据。

var promiseArray = [];
for (var i = 0; i < data.length; i++) {
    var dataPromise = $http.post('/api/bla/blabla', $httpParamSerializer(data[i]))
        .then (function (response) {
             //return data for chaining
             return response.data;
        })
    ;
    promiseArray.push(dataPromise);
}

$q.all(promiseArray).then(function (dataArray) {
     //dataArray will be in original order
     //process results here
}).catch (function (errorResponse) {
     //log error
});

The promiseArray将以正确的顺序创建。即使各个 XHR POST 请求可能不会按原始顺序提供,$q服务将跟踪承诺并以正确的顺序填充数据数组(或解决第一个错误时被拒绝的问题)。

The JSFiddle 上的演示.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何等待所有数据成功回调的多个 Promise 的相关文章

  • 对角度“数据表”中的列进行排序

    我创建了表 table class table table striped table bordered table hover width 100 thead tr th Nannie ID th th Name th th Last n
  • 尝试使用 ui-router 让一个子视图调用另一个子视图

    我有两个子视图 一个用于类别 一个用于产品 因此是该类别的产品 我希望用户能够选择一个类别并查看该类别的所有产品 所以我在类别控制器中调用一个函数View单击类别行上的按钮 这是函数 self scope viewSalonProducts
  • 为什么 html 中的 AngularJS 错误没有显示在控制台中?

    Here s a fiddle http jsfiddle net 6y7odxmj 3 用于说明 当 ng click 指令 例如 调用未在控制器的 scope 或其父级 上定义的函数时 它会默默地失败 当我尝试调试网页时 这种行为令人抓
  • 平静的 POST 响应的“最佳”实践

    所以这里没有什么新内容 我只是想得到一些澄清 似乎在其他帖子中找不到任何澄清 我正在平静地创建一个新资源 说 books POST 与身体 title The Lion the Witch and the Wardrobe author C
  • Angular 计算 HTML 中的百分比

    我试图在 HTML 中显示百分比值 如下所示 td myvalue totalvalue 100 td 它可以工作 但有时它会给出一个很长的小数 这看起来很奇怪 如何四舍五入到小数点后两位 有更好的方法吗 您可以使用过滤器 如下所示杰夫约翰
  • 在我的输入中显示多个信息

    我有一个输入 div class search field search field date search field calendar ui datepicker calendar columns small 3 div
  • 角度剑道下拉

    我正在对许多组件使用 Angular kendo ui 但遇到了一个我似乎无法解决的问题 我有以下角度选择 它工作正常并将所选值正确绑定到 ng model
  • Angularjs - ng-click 函数与指令

    我无法决定在以下情况下使用哪种方法 我试图在点击按钮时发出警报 我可以使用两种方法来做到这一点 哪个是最佳实践 请告诉我为什么 Method 1 div div
  • ng-repeat 插入空锚标记

    我正在尝试使用角度创建一个菜单 菜单项可以有子项 需要另一个 ng repeat 来打印子导航项 当尝试在第二个 ng repeat 中插入锚标记时 我注意到一些奇怪的行为 小提琴链接 http jsfiddle net npU7t htt
  • 带有量角器端到端测试的 Electron 应用程序

    我目前正在研究一个Electron http electron atom io 应用程序 我现在想将端到端测试与量角器 https angular github io protractor 我已经查看了 Protractor 的教程 现在正
  • 如何在 AngularJS/Bootstrap3 中禁用基于复选框的内容

    我正在创建一个表单 用户可以在其中配置重复事件 因此有大量控件 顶部是一个用于启用 禁用计划的复选框 如何禁用但不隐藏基于复选框的整个部分 如果选中 用户应该能够对时间表进行修改 如果没有检查 则不允许进行任何更改 我相当确定我可以在每个控
  • Chrome 打包应用程序 - 在后台/事件页面中使用 AngularJS

    当我们创建 Chrome 应用程序时 我们将脚本放在背景属性中清单 json file 这将用作应用程序的背景 事件页面 我想要的是 我想使用 AngularJS后台脚本但我不知道怎么办 还有 这可能吗 我刚看到一些答案 https sta
  • 如何从此 d3.js layout.tree 获取树祖先和树后代的列表?

    我正在尝试和修改this https bl ocks org mbostock 4339083d3 js 的示例 用于根据 JSON 树结构绘制树 这就是树的一部分开始时的样子 我正在尝试进行两个单独的修改 但我不知道该怎么做 当单击节点的
  • 将复杂对象传递给 ui-sref 参数

    我需要这样的构建网址 列表 过滤器 状态 1 过滤器 类型 2 I do link a List a 在参数中传递复杂对象 如果传递简单对象 filter 1 可以 但我需要这个 state state list url list filt
  • 使 WebAPI 操作异步?

    我有一个问题 关于在 WebAPI MVC 控制器 AJAX 请求上使用 async await 是否有益 假设我有一个与 Web API 后端对话的 AngularJS 应用程序 并且我想获取一些数据 我对 Web API 进行了一些 A
  • AngularJS 中的重定向状态

    这是状态配置 angular module grabhutApp config function stateProvider urlRouterProvider stateProvider ACCOUNT state account abs
  • 使用 ng-if 内容短暂呈现然后消失

    我的页面上有一些内容包含在 ng if 中 如下所示 div class text danger p strong Message displayed to User strong p div 然后在我的 Angular js 控制器中我有
  • AngularJS limitTo 按最后 2 条记录

    可以结合AngularJS吗filter https docs angularjs org api ng filter filter order https docs angularjs org api ng filter orderBy
  • 在 Chrome 扩展中使用页面的 Angular JS

    我有一个 HTML 页面 其中有一些使用 Angular 配置的 DOM 现在我正在构建一个 chrome 扩展来修改文本框中的值 element value newValue不起作用 因为文本框是用 Angular 设计的 在阅读了一些资
  • 身份验证在不应该返回“401(未经授权)”时返回

    我第一次设置身份验证功能 在用户登录后得到了一些意外的结果 一位同事给了我一个具有工作身份验证的应用程序 以模仿我的应用程序 看起来我所做的一切都是正确的 我在前端使用 AngularJS 在后端框架使用 SailsJS 并且护照JS ht

随机推荐

  • 如何使 LINQ 执行 (SQL) LIKE 范围搜索

    我非常需要帮助 我已经尝试这样做有一段时间了 所以我有这个查询 Select name from BlaBlaBla order by case when name like 9 then 1 end case when name like
  • Elasticbeanstalk 在单个 Python 实例上配置 HTTPS:模板中不允许使用 null 值

    我已经在 EB 单实例 环境中部署了一个 Flask 应用程序 并且运行良好 现在我尝试使用自签名证书将其配置为 https 来测试它 因此 我添加了一个配置文件 如 EB 开发人员指南中所示的 ebextensions 其中我有 2 个以
  • 使用 LWUIT 列出带有复选框的列表

    我正在使用 LWUIT 来获取搜索工具以在List 现在我想知道如何显示列表CheckBoxes list new List vector cform addComponent list cform addComponent t cform
  • 如何在HandlerInterceptor中读取请求体?

    我有 Spring Boot 我需要在数据库中记录用户操作 所以我编写了 HandlerInterceptor Component public class LogInterceptor implements HandlerIntercep
  • WPF:调度程序处理挂起错误,没有有用的堆栈跟踪

    我有一个已经运行了 10 多年的 WPF 应用程序 最近 我们在某些计算机上的一些部署启动时开始出现以下异常 主应用程序窗口将加载 并且可以加载一些数据 但随后会出现许多错误 System InvalidOperationException
  • Android:GPS 从精细到粗略的回退

    问候 有谁知道当我没有修复时如何获得粗略的 GPS 坐标 以及当我有修复时如何获得精细的 GPS 坐标 我尝试在谷歌上搜索一些示例代码 但没有成功 我确实找到了这个 http www android10 org index php arti
  • Gmail 应用程序脚本 API 中是否会添加一个函数来获取分配给邮件的星标类型?

    Gmail 设置允许设置不同类型的星标several 黄星 红星 绿勾 Gmail中可以设置可以使用的星号类型数量设置菜单 谷歌应用脚 本 s Gmail 服务包括一个Gmail消息 已加星标它只返回一个布尔值 它不提供所设置的星星的类型
  • python 中的 int('123') - 它是'int'类的函数调用还是构造函数调用?

    我正在学习Python 对Python的数据类型有点困惑 我一遍又一遍地读这句话 Python 中一切都是对象 这包括整数 浮点数 字符串 集合 列表等 当我们这样写时 1 2 3 所以我们实际上创建了一个对象list类 或不类 所以 当我
  • Ubuntu 远程连接 Mysql - 绑定地址失败

    我正在尝试配置我的服务器以允许远程连接 据我了解 我需要取消注释bind address 127 0 0 1 in the my cnf file 然后重新启动mysql 那没有用 我也尝试过将其更改为bind address 0 0 0
  • WordPress 中单个自定义帖子类型的多个 URL

    我有一个房地产代理房地产网站 其自定义帖子类型为 property 因此当前的 URL 结构是 property the address here 现在 在每处房产上 您都可以选择该房产是出售还是出租 我现在想保留单个自定义帖子类型 但单个
  • C# 中的按键事件——移动 PictureBox

    我试图通过按键事件上下移动 PictureBox picUser 我是 C 新手 可以通过 VB 来完成此操作 因此 我对以下代码的问题所在感到困惑 private void picUser keyDown object sender Sy
  • forkjoin 没有返回结果

    我正在使用 forkJoin 合并两个 firebase 请求的结果 两个请求均完成并记录在控制台中 但 forkJoin 本身的映射函数不会触发 因此不会向应用程序返回任何结果 public initGroup groupname use
  • 如何将选择选项值和文本存储在 JSON 对象或数组中?

    我有一个选择列表 示例如下 我想将此选择列表 文本和值 存储在 JSON 对象或数组对象中 这样我以后就可以使用 each 函数来完成它 然后我想根据用户输入显示 隐藏选择选项列表中的记录 所有代码都已准备就绪并可以工作 只是我无法弄清楚如
  • Java 中表达式“new String(...)”的用途是什么?

    在查看在线代码示例时 我有时会遇到通过使用 new 运算符将 String 常量分配给 String 对象的情况 例如 String s s new String Hello World 当然 这与 s Hello World 我不熟悉这种
  • 不同线程中的 Hibernate 断言失败

    我通过一个会话连接到我的数据库 我的整个计划中总是有相同的课程 我的线程 1 从数据库捕获主要数据 必须允许用户取消该线程 因此 如果用户频繁或快速按下取消按钮 这是我的解释 则会发生以下错误 ERROR org hibernate Ass
  • 对 Fortran 多线程程序进行计时

    我有一个调用多线程例程的 Fortran 90 程序 我想从调用例程中计时该程序 如果我使用cpu time 我最终得到的是所有线程 在我的例子中是 8 个 的 cpu time 加在一起 而不是程序运行所需的实际时间 这etime 例行公
  • 如何使用 C# 读取 Microsoft Edge 历史记录

    我想访问 Microsoft Edge 的历史记录 我该怎么办 根据我的研究 我们可以通过删除 LOCALAPPDATA Packages Microsoft MicrosoftEdge 8wekyb3d8bbwe AC 文件夹中以 开头的
  • 引导 Krippendorff 的 Alpha

    我想通过引导 Krippendorff 的 Alpha 结果来计算使用 R 包 irr 的 Krippendorff 的评级者可靠性 Alpha 系数的 95 置信区间 让我们使用 irr 包中的 C data from Krippendo
  • 提供程序在 InitState 中抛出错误。 Provider.of(上下文)

    如何在 initState 中访问 Provider 的上下文 我不断收到错误消息 flutter The following assertion was thrown building Builder flutter inheritFro
  • 如何等待所有数据成功回调的多个 Promise

    我有这个 API 调用 但我没有收到我的数据successCallback按照我发送的顺序 for var i 0 i lt data length i http post api bla blabla param data i then