使用 jQuery 中的延迟对象处理多个 ajax 调用的不同成功和失败状态

2024-03-06

$.when为同时查询的所有多个 ajax 调用返回一个 Deferred 对象。

如果一切顺利的话.done()执行并且如果任何一个 url 失败.fail()执行。

如何处理部分成功状态? (即)如果 5 个 url 被传递到$.when,如果 3 成功,我们需要处理成功状态,如果 2 失败,我们需要处理失败状态。

$.when($.getJSON(headerUrl), $.getJSON(tasksUrl), $.getJSON(testingTrackerUrl), $.getJSON(highlightsUrl)))
    .then(function(headerData, tasksData,testingTrackerData,highlightsData) {
        printData(headerData, tasksData,testingTrackerData,highlightsData);
    })
    .fail(function(data, textStatus, jqXHR) {
        console.error('Got error in '+jqXHR);
});

Try

var request = function (url) {
        return $.getJSON(url)
}
, requests = [
    headerUrl
    , tasksUrl
    , testingTrackerDataUrl
    , highlightsDataUrl
];
// return array of `resolved` , `rejected` jqxhr objects
$.when(
    $.map(requests, function (_request, i) {
         return request(_request)
    })
)
// do stuff with `resolved` , `rejected` jqxhr objects
.always(function (arr) {
    $.each(arr, function (key, value) {
        // `success`
        value.then(function (data, textStatus, jqxhr) {
            console.log(data, textStatus, jqxhr);
            printData(data)
        }
        // `error`
        , function (jqxhr, textStatus, errorThrown) {
            console.log(jqxhr, textStatus, errorThrown)
        })
    })
});

jsfiddlehttp://jsfiddle.net/guest271314/91Lomwr3/ http://jsfiddle.net/guest271314/91Lomwr3/

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

使用 jQuery 中的延迟对象处理多个 ajax 调用的不同成功和失败状态 的相关文章

随机推荐

  • Chrome 扩展选项卡 onUpdated 事件

    我正在构建一个 chrome 扩展 每次打开新选项卡并加载页面时都应该收到通知 为此我正在使用 chrome tabs onUpdated 事件 问题是 如果在某个域 具有 src 上托管的页面 选项卡上插入 iframe 则会触发 onU
  • 您可以在 Java EE Web 应用程序中实现 Vue.js 吗?

    我只是和我的同学一起开发一个工具 我们想使用 Vue js 作为 Web 界面 用于描述我们编程的内容 我们在 Eclipse 中开发了一个 Java EE Web 应用程序 我们使用 Tomcat 7 作为 Web 服务器 我搜索了很长时
  • Assert.Fail() 被认为是不好的做法吗?

    我在进行 TDD 时经常使用 Assert Fail 我通常一次进行一个测试 但是当我对稍后想要实现的事情有了想法时 我会快速编写一个空测试 其中测试方法的名称指示我想要以待办事项列表的形式实现的内容 为了确保我不会忘记 我在正文中放置了一
  • GWT maven编译器输出目录

    我需要使用 Maven 插件设置 GWT 编译器的输出目录位置 我研究了 GWT 编译器和 gwt maven plugin 文档 但没有找到任何选项 例如 我有两个名为editor and consolegwt maven plugin
  • javascript 使用 var 值作为新 var 的名称

    如何使用数组键 文本值 来引用同名变量 jsFiddle http jsfiddle net gBD4s var cr au gen bn fmt str var sbASCtrls cr ContentRating au Gold gen
  • 如何使用前向填充Python重新采样

    我的数据框 df3 看起来像这样 Id Timestamp Data Group Id 0 1 2018 01 01 00 00 05 523 125 5 101 1 2 2018 01 01 00 00 05 757 125 0 101
  • 为什么浏览器在 OSX 上渲染 rgba 的方式不同?

    我试图编写一些颜色操作代码 并在 alpha 上停留了很长一段时间 然后我 2 小时后 意识到浏览器以不同的方式渲染 rgba 我创建了这个测试 http jsbin com adekez 2 http jsbin com adekez 2
  • string_view 真的会引发释放后使用错误吗?

    根据一篇文章 here https alexgaynor net 2019 apr 21 modern c wont save us and there https github com isocpp CppCoreGuidelines i
  • 列“在选择列表中无效,因为它不包含在聚合函数或 GROUP BY 子句中”

    我想显示该列B在我的下面的 SQL 中 但是当我将其添加到查询中时 它给出了以下错误 T2 B 栏 在选择列表中无效 因为它不包含在 聚合函数或 GROUP BY 子句 My code SELECT A COUNT B as T1 B FR
  • 图的 k 顶点连通性

    是否有任何伪代码实现可以显示如何计算图的 k 顶点连通性 我无法在这里发布代码this http www cs sunysb edu algorith files edge vertex connectivity shtml本书因版权问题
  • 如何使用 API 3.1.1 在 Maven 插件中使用 Aether (eclipse)?

    我正在使用 API v3 1 1 开发一个新的 Maven 插件 因为我需要升级到 Maven 3 1 1 并且需要使用 Aether 方式处理工件存储库 以及检索工件版本的完整列表 我正在使用 Eclipse Aether 0 9 0 M
  • 使用透镜实现 3 种及以上类型之间的同构

    灵感来自关于ADT之间的多态函数的一个问题 https stackoverflow com q 25192250 596361我试图在多个 不仅仅是 2 个 类型之间创建同构 这样每次我需要同构但不相同的类型时 我都可以在代码中添加一些co
  • 使用 CSS 和 SVG 的钻石菜单项

    我想用 HTML CSS 编写以下设计代码 到目前为止我所做的是 我用以下方法做到了 a links SVG 作为背景 CSS中的绝对位置和translate x y 属性 请检查这个fiddle http jsfiddle net sha
  • 提交自动填充(密码输入字段)

    I want to submit an autofilled password form using a userscript tampermonkey in chrome However it doesn t work the field
  • 坂本算法查找星期几的正确性

    我正在使用坂本算法来找出给定日期的星期几 谁能告诉我这个算法的正确性吗 我只想要2000年到2099年的这个 该算法来自维基百科 http en wikipedia org wiki Determination of the day of
  • 从证书导入 RSA 公钥

    我们的客户将其公共 RSA 密钥存储在证书中 我们需要在 WinRT 应用程序中硬编码此密钥 以便我们可以加密客户端 但是 我们在将密钥导入 CryptographicKey 类的实例时遇到问题 我们在 RSAProvider 上使用 Im
  • Java正则表达式从字符串中删除重复的子字符串

    我正在尝试构建一个正则表达式来 减少 Java 字符串中重复的连续子字符串 例如 对于以下输入 The big black dog big black dog is a friendly friendly dog who lives nea
  • 不同手机/设备和操作系统版本上的 Android 堆大小

    有谁知道Android手机上的堆大小是否是根据操作系统版本中设置的恒定值 或者这是手机生产商可以决定的设置 堆大小与手机上的 RAM 大小成正比吗 我只发现有人说应用程序的堆大小是 16M 的文章 然而 这些文章有点旧了 举个例子 据我所知
  • ngrx,如何从 api 获得起始状态?

    我的减速器的起始状态为空数组 folderReducer state Array
  • 使用 jQuery 中的延迟对象处理多个 ajax 调用的不同成功和失败状态

    when为同时查询的所有多个 ajax 调用返回一个 Deferred 对象 如果一切顺利的话 done 执行并且如果任何一个 url 失败 fail 执行 如何处理部分成功状态 即 如果 5 个 url 被传递到 when 如果 3 成功