$。当我不按预期工作时

时间:2014-08-27 10:00:55

标签: javascript jquery ajax

请参阅下面的JavaScript:

function LoadAjax(){
    $.when(Possibles()) //Display Possibles first
        .done(function () {
            //alert('Possibles complete);
            GetSQLTable();
            LinkedUSNs();
        })
}

我希望在GetSQLTableLinkedUSNs开始之前完成可能的内容并显示在网页上的所有信息。但是,这不会发生。来自GetSQLTable的信息首先出现。但是,如果我添加一个警告框(目前在上面的代码中已注释掉),那么它可以工作。这是为什么?

Possibles()GetSQLTable()LinkedUSNs()通过AJAX(JQuery)将HTML表格返回到网页。

1 个答案:

答案 0 :(得分:0)

由于您尚未发布整个代码。您可能想要在promise(Possibles()函数)中检查Deferred对象的当前状态:

    $.Deferred(function(deferred) {
        // debug
        console.log(deferred.state());
    });

或者您可以在您的承诺中致电已解决(可以调用doneCallbacksdeferred.then()添加的任何deferred.done()):

    $.Deferred(function(deferred) {
        // dom ready?
        $(deferred.resolve);
    });