如何在完成所有请求后调用函数

Mic*_* DN 5 javascript extjs

我一个接一个地有两个AJAX请求 -

var firstResult;
var secondResult;

FirstAjaxrequest({
        callback: function (options, success, response) {
            if(success)
            {
                firstResult = true;
            }
            else
            {
                firstResult = false;
            }
        }    
    });

SecondAjaxrequest({
     callback: function (options, success, response) {
            if(success)
            {
                secondResult= true;
            }
            else
            {
                secondResult= false;
            }
     }    
});

DisplayMessage(); // This function should display a message depending on     
                     FirstResult and secondResult
Run Code Online (Sandbox Code Playgroud)

Geo*_*rge 12

您可以为每个请求创建一个变量,表示成功的请求.分别为每个请求更改此变量,当成功请求时,然后调用您的函数.

在你的函数中只需检查两个变量,如果它们都是真的,那么两个请求都是成功的,否则至少有一个不是,if()条件将是假的.

var firstResult = false,
    secondResult = false;

FirstAjaxrequest({
    callback: function (options, success, response) {
        if(success) {
            firstResult = true;
            DisplayMessage();
        }
    }    
});

SecondAjaxrequest({
    callback: function (options, success, response) {
        if(success) {
            secondResult= true;
            DisplayMessage();
        }
    }    
});

function DisplayMessage(){
    if(firstResult && secondResult){
        //Both requests successful
    } else {
        //Either still waiting for a request to complete
        // or a request was not successful.
    }
}
Run Code Online (Sandbox Code Playgroud)