Javascript 如何延迟多个ajax成功回调?

Javascript 如何延迟多个ajax成功回调?,javascript,ajax,callback,synchronization,Javascript,Ajax,Callback,Synchronization,在我的Javascript中,我有以下场景: call_A(success_A) call_B(success_B) function call_A(success){ // make ajax request success(result) } function call_B(success){ //make ajax request success(result) } function success_A(){ //set data to be used by success

在我的Javascript中,我有以下场景:

call_A(success_A)

call_B(success_B)


function call_A(success){
// make ajax request
success(result)
}

function call_B(success){
//make ajax request
success(result)
}


function success_A(){
  //set data to be used by success_B
}

function success_B(){
..do some stuff
}
我想一个接一个地进行
call_A
call_B
以便进行ajax调用(以节省时间)

我没有更改
call_A
call_B
函数头的选项,因此必须指定成功回调函数来调用这些函数

我想要的是,无论两个ajax调用中哪一个先完成,我都希望
success\u A
success\u B
之前被调用,因为B取决于A的数据


完成此任务的最佳方法是什么?

您可以使用jQuery吗?它有一个$.Deferred类,它为这样的情况添加了大量语法糖。此外,您可能应该将示例代码重写为JavaScript。def不是定义javascript函数的方法,因此它使您的问题有点困惑。
a_success= false;
b_success= false;

call_A(generalSuccess);
call_B(generalSuccess);

function call_A(success) {
    // make ajax request
    a_success = true;
    success(result)
}

function call_B(success) {
    //make ajax request
    b_success = true;
    success(result)
}

function generalSuccess() {
    //assuming you are passing which a or b is called. set b_success or a_success is true
    if (a_success == true && b_success == true) {
        // use all variables you need and get the final result
    } else if (a_success == true) {
        // set your desired value into a global variable from a request
    } else if (b_success == true) {
        // set results to use from b request.
    }
}