我的代码有这个问题。我有一个执行AJAX调用并调出接口的函数,并且AJAX被分离在另一个函数中。我在某个地方调用它,并跟随一些代码。这是一个例子:
function doAjaxStuff(){
//do something
}
function anotherFunction(){
doAjaxStuff();
//proceed with further code
}
(从
anotherFunction
调用函数$(document).ready
)由于进一步的代码完全取决于我要加载的内容,例如我正在尝试访问一个元素,而该元素尚未加载,这给了我null值,并且没有任何效果。因此,如果我可以等到
anotherFunction
中调用的函数完全执行后,对我来说将更容易处理。我看过promises
,如果我没记错的话,可以使代码同步(无法理解如何实现)。帮帮我! 最佳答案
另一种方法是使用deferred
对象
function doAjaxStuff(){
return $.ajax(...);
}
function anotherFunction() {
$.when(doAjaxStuff()).then(function(){
// other code to run after ajax call
});
}