jQuery When()。Done()没有触发

时间:2014-04-10 16:56:24

标签: javascript jquery

我正在进行一些ajax调用,我希望它们中的一些或全部为404.问题是当我得到预期的404时,.done()不会被执行!我做错了什么?

以下是代码:

$.each(data, function (index, item) {
    promises.push(GetReservation(item.UniqueId,
        apiRoot,
        function (data2) {
            //DO stuff
        },
        function (x, y, z) {
            if (x.status == 404) {
                //OK!!! i expected that!
            }
        }));
})
$.when.apply($, promises).done(function () {
    setButtons(box, c)
});

1 个答案:

答案 0 :(得分:1)

由于$ .when返回承诺,您可以调用始终而不是完成。无论响应成功与否,它都将调用回调。

$.when.apply($, promises).always(function () {
    setButtons(box, c)
});