So, if I have multiple Ajax calls, is it possible for each of them to have done callback and be in a when then??

有帮助吗?

解决方案

Yes, of course it's possible. The done method even returns the promise, so you can simply write

$.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");
});

其他提示

You'd have to set each ajax call as a deferred object and then set the deferred objects to resolved in the .then() method.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top