0

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

谢谢一堆

4

1 回答 1

4

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

$.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

于 2012-07-27T16:04:53.070 回答