我的代码有这个问题。我有一个执行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
    });
}

10-08 04:29