在Javascript中,如何在继续使用另一个函数之前等待ajax调用完成器的函数

在Javascript中,如何在继续使用另一个函数之前等待ajax调用完成器的函数,javascript,ajax,Javascript,Ajax,这里是我的js文件的概览,我在这里调用了2个函数foo1和foo2 function foo1(){ // do some ajax call which takes random amount of time } function foo2(){ // do something which needs foo1() being already done } foo1(); // reach here only if foo1 is complete foo2(); 另外,我不想使用

这里是我的js文件的概览,我在这里调用了2个函数foo1和foo2

function foo1(){
 // do some ajax call which takes random amount of time
}

function foo2(){
 // do something which needs foo1() being already  done
}

foo1();
// reach here only if foo1 is complete
foo2();
另外,我不想使用jQuery或knockout。 另外,如果您说foo1()正在做ajax,那么您需要这样的东西:

function foo1() { 
   $.ajax( ....
       success: function() { foo2(); }
   );
}
function foo2() {
    console.log("foo1() finished");
}

foo1();

因此,当ajax调用返回(成功)时,它将自动调用foo2(),您只需调用foo1()。

您无需执行任何操作。JS块中的函数调用。它不是多线程的。除非foo1()正在执行ajax调用或其他操作,否则foo2()在foo1()返回之前不会被调用。@MarcB谢谢,我添加了ajax调用作为foo1的一部分。感谢您的评论,然后在返回ajax结果时,您在ajax stuff调用
foo2()
中有了
success:
处理程序。