Javascript/jQuery使函数在继续之前等待回调

Javascript/jQuery使函数在继续之前等待回调,javascript,jquery,callback,Javascript,Jquery,Callback,我需要知道如何使一个函数在执行之前等待另一个函数的回调。下面是我试图完成的一个简化场景 function a(){ b(); // Wait for function c to callback var callback = function(); // then continue function a() logic... } function b(){ c(); return false; } function c(){ //trigger callback i

我需要知道如何使一个函数在执行之前等待另一个函数的回调。下面是我试图完成的一个简化场景

function a(){
  b();
  // Wait for function c to callback
  var callback = function();
  // then continue function a() logic...
}
function b(){
  c();
  return false;
}

function c(){
  //trigger callback in function a
    callback();
}

将a的其余逻辑放入回调中,如果需要,使用对a的this的引用

function a(){
  b();
  var that = this;
  var callback = function(){
    that.variables
    // then continue function a() logic...
  }
}
function b(){
  c();
  return false;
}

function c(){
  //trigger callback in function a
    callback();
}

您需要做的是将回调传递给
b
c
,如下所示,并在执行后在
c
中调用回调。。。假设
c
正在执行异步操作

函数a(){
log('insidea');
b(职能({
//应该在'c'之后执行的代码必须在这里…请注意,不能从这里向'a'的调用者返回值`
log(“内部回调”);
});
snippet.log('b'之后)
}
函数b(回调){
log('inB');
c(回调);
返回false;
}
函数c(回调){
log('incidec');
setTimeout(函数(){
log('内部异步超时');
//函数a中的触发器回调
回调();
}, 100);
}
a()


在理想情况下是的,但简而言之不是。函数a在其他地方调用,只需要在指定实例中侦听回调,在该实例中,它需要等待从c返回的数据处理Ok的可能副本。这可能会起作用。但是如果回调从未被触发呢?我应该调用超时函数来触发回调吗?ie setTimout(functioin(){callback();},15000);我明白了。我的意思是,如果函数C中发生了回调未被触发的情况,则函数a继续执行更为重要。因此,我应该设置一个超时来调用回调,无论在设置了Timout之后发生了什么?我想我是在回答我自己的问题,但是即使你使用了一个超时,也没有办法清楚地预测c何时会完成它的任务execution@DOfficial在
c
中发生了什么样的操作?函数a是表单提交函数。b()是一个地址表单验证函数,它调用c()以向第三方地址验证软件发出ajax请求。我需要表单submit()在继续处理数据之前等待c的响应。