请参阅下面的JavaScript:
function LoadAjax(){
$.when(Possibles()) //Display Possibles first
.done(function () {
//alert('Possibles complete);
GetSQLTable();
LinkedUSNs();
})
}
我希望在GetSQLTable
和LinkedUSNs
开始之前完成可能的内容并显示在网页上的所有信息。但是,这不会发生。来自GetSQLTable
的信息首先出现。但是,如果我添加一个警告框(目前在上面的代码中已注释掉),那么它可以工作。这是为什么?
Possibles()
,GetSQLTable()
和LinkedUSNs()
通过AJAX(JQuery)将HTML表格返回到网页。
答案 0 :(得分:0)
由于您尚未发布整个代码。您可能想要在promise(Possibles()
函数)中检查Deferred对象的当前状态:
$.Deferred(function(deferred) {
// debug
console.log(deferred.state());
});
或者您可以在您的承诺中致电已解决(可以调用doneCallbacks
或deferred.then()
添加的任何deferred.done()
):
$.Deferred(function(deferred) {
// dom ready?
$(deferred.resolve);
});