如何背靠背运行jQuery函数,等待第一个函数完成?

如何背靠背运行jQuery函数,等待第一个函数完成?,jquery,callback,jquery-callback,Jquery,Callback,Jquery Callback,我知道我需要回电话来解决这个问题,但我就是做不好。我尝试了几种不同的解决方案,但我会让你不用再看我的尝试。相反,我只想展示我正在努力实现的目标 theCodeToRun('123', '1'); //Wait for it to complete... theCodeToRun('123', '0'); function theCodeToRun(myID, exitEarly){ //Do some stuff (using myID) if(exitEarly == 1){

我知道我需要回电话来解决这个问题,但我就是做不好。我尝试了几种不同的解决方案,但我会让你不用再看我的尝试。相反,我只想展示我正在努力实现的目标

theCodeToRun('123', '1');
//Wait for it to complete...
theCodeToRun('123', '0');

function theCodeToRun(myID, exitEarly){
    //Do some stuff (using myID)
    if(exitEarly == 1){
        return false; //Exit
    }
    //Do some more stuff
}

将第二个调用放在传递给第一个调用的回调中。

代码运行中要做什么?javascript是在单线程中执行的,所以如果代码运行中没有异步内容,就不需要任何回调。否则,您可以按如下方式修改代码:

function theCodeToRun(func, flag, callback){
    if(flag){
        callbck();
    }
    func(callback);
}
您可能会感到困惑,为什么
回调
会作为参数传递给
func
。好的,在本例中,我们假设
func
是一个例程,用于执行一些异步任务,比如进行
ajax
调用。您需要将
回调
传递给它,让
func
在回调完成后执行回调