跳过延迟对象

时间:2014-05-06 13:09:42

标签: javascript jquery jquery-deferred

我试图跳过ajax请求(多池):

        function doRequest(next) {
            if (ajaxOpts.ajaxRequestType == "bla") {
                console.log("next");
                $.Deferred().reject().then(next, next);
            } else {
                jqXHR = $.ajax(ajaxOpts)
                    .done(dfd.resolve)
                    .fail(dfd.reject)
                    .then(next, next);
            }
        }

但是$.Deferred().reject().then(next, next);

似乎没有调用下一个函数。难道我做错了什么?

编辑:下一个功能似乎是:

 function () {
            jQuery.dequeue( elem, type );
        }

1 个答案:

答案 0 :(得分:0)

您使用的延迟不正确,请参阅jQuery网站上的示例: http://learn.jquery.com/code-organization/deferreds/examples/

或者看到这个小提琴:http://jsfiddle.net/mbMQz/1/

x = jQuery.Deferred(function(defer){
    defer.reject();
}).then(function(){ alert('1') }, function(){ alert('2') });