【问题标题】:Calling a jquery function after multiple get request is completed多个get请求完成后调用jquery函数
【发布时间】:2012-07-28 00:26:08
【问题描述】:

好的,所以在我的网站上,我的主页在加载时使用 .get 方法创建了 4 个轮播。我想知道在每个轮播成功加载后如何调用 js 函数。有时有 3 到 4 个,有时没有任何轮播。如果我使用 get 请求任何东西,他们是否会跟踪?

非常感谢

【问题讨论】:

  • 如果你同时发送它们,你可以使用ajaxComplete。
  • 我确实同时发送它们,但它们以不同的间隔结束。

标签: php jquery


【解决方案1】:

Jquery 最近引入了Deferred 对象,并使每个ajax 调用都返回一个jqxhr 对象,该对象用作promise。所有这一切意味着您可以使用如下语法摆脱疯狂情况的回调金字塔:

$.when(
    $.get('http://example.com'),
    $.get('http://example.com'),
    $.get('http://example.com')
).done(function(resp1, resp2, resp3){
    console.log(resp1, resp2, resp3);
    alert('all done \o/');
});

注意done 函数只有在之前的所有承诺都成功返回时才会被调用。对于无论使用什么always 都运行的回调。仅捕获错误有fail

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-14
    • 2018-12-05
    • 2015-12-28
    • 2020-04-23
    • 2016-05-28
    • 2013-12-05
    • 1970-01-01
    相关资源
    最近更新 更多