javascript - 带有 promise 的链接 jQuery AJAX

标签 javascript jquery ajax

我目前正在开发一个项目,其中同时触发 4 个 get 请求。我同时使用淡入淡出效果,其异步特性会导致间歇性出现空数据。

我一直在研究这种方法,如中所述 Prefer way of doing multiple dependent ajax synchronous call取代我目前的做法

$.get('ajax_call_1').then(function(value) {
    return $.get('ajax_call_2');
}).then(function(result) {
    // success with both here
}, function(err) {
    // error with one of them here
});

但是,我的问题是:如何使用上述内容单独访问每个请求的返回结果?

最佳答案

您说过请求是同时发送的。不过,按照您编写代码的方式,它们是按顺序发送的。相反,使用 Promise.all ,您可以等待所有请求的 promise ,您将获得一个包含结果的数组:

Promise.all([
    $.get('ajax_call_1'),
    $.get('ajax_call_2'),
    $.get('ajax_call_3'),
    $.get('ajax_call_4')
]).then(function(results) {
    var first = results[0];
    var second = results[1];
    ...
}).catch(function(err) {
    // called if one of the requests fails
});

关于javascript - 带有 promise 的链接 jQuery AJAX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47248205/

相关文章:

jquery - 如何使用Ajax调用MVC4传递两个字符串数组

javascript - php服务器无法使用$.http().post请求从angularjs接收json变量

javascript - 双 "for"循环(循环中循环)

javascript - 将 REST API 调用从 Angular 转换为 jQuery

javascript - 使用 a 标签中的链接在点击时发出 AJAX 请求

javascript - HTML 选择元素不显示更新的选定属性

javascript - jQuery 更改任何表单字段值但忽略显示切换

javascript - 无法让浏览器启动从 express 下载

javascript - 获取LocalStorage中元素的数量

javascript - 著名的gl是什么?