一个when中的多个jQuery延迟对象

时间:2014-03-09 21:02:23

标签: jquery promise jquery-deferred

那么,如果我有多个Ajax调用,它们是否可以进行done回调并且位于when then?

2 个答案:

答案 0 :(得分:3)

是的,当然有可能。 done方法甚至会返回promise,因此您只需编写

即可
$.when(
    $.ajax(…).done(function(r) {
        console.log("ajax 1 resolved with", r)
    }),
    $.ajax(…).done(function(r) {
        console.log("ajax 2 resolved with", r)
    })
).done(function(r1s, r2s) {
    console.log("both ajax requests done");
});

答案 1 :(得分:1)

您必须将每个ajax调用设置为延迟对象,然后在.then()方法中将延迟对象设置为已解析。