Javascript 在另一个Ajax运行时进行Ajax轮询

Javascript 在另一个Ajax运行时进行Ajax轮询,javascript,c#,jquery,ajax,asp.net-mvc,Javascript,C#,Jquery,Ajax,Asp.net Mvc,我的页面上有一张表格。当您提交表单时,我会向服务器发送Ajax调用。服务器端是C#asp.net 然后服务器上的控制器正在做一些事情,并将当前状态保存到会话中。ajax调用大约需要3分钟 所以我想设置ajax轮询脚本,它将每隔5秒向服务器发送ajax请求,并从会话读取当前状态并更新前端 问题是ajax轮询调用正在等待第一个ajax完成 所以,当first ajax在服务器端运行和做一些事情并在会话中更新当前状态时,我需要另一个轮询脚本,它将同时从会话中读取此状态,但问题是它只是等待第一个ajax

我的页面上有一张表格。当您提交表单时,我会向服务器发送Ajax调用。服务器端是C#asp.net

然后服务器上的控制器正在做一些事情,并将当前状态保存到会话中。ajax调用大约需要3分钟

所以我想设置ajax轮询脚本,它将每隔5秒向服务器发送ajax请求,并从会话读取当前状态并更新前端

问题是ajax轮询调用正在等待第一个ajax完成

所以,当first ajax在服务器端运行和做一些事情并在会话中更新当前状态时,我需要另一个轮询脚本,它将同时从会话中读取此状态,但问题是它只是等待第一个ajax完成

这里可能有什么问题。我对课程了解不多,只是不知道问题是什么,以及如何让它发挥作用

function installation () {
    var intervalID = setInterval(function () { checkStatus() }, 5000);
    var data = {//some data};

    $.post("/WebDomain/Installation", data, function (result) {
        clearInterval(intervalID);
        console.log(result);
    });
};

function checkStatus()
{
    $.post("/WebDomain/GetInstallStatus", function (result) {
            console.log(result.Status);
    });
}
希望能有所帮助

Explanation: after 5sec of your dom is ready checkStatus() will call,
if success only  installation (); will call 
In installation (); success we are again calling checkStatus(). 
now you can check some condition for breaking this iterations

你考虑过信号员吗?听起来很合适:听起来不错。我希望我能使用web套接字实现它。这将是更好的解决办法。但在本例中,如果可能的话,我只需要在轮询ajax时使用它。您是否在使用SQL?因为ajax应该是异步的,并且您应该能够对服务器进行多个调用,所以问题可能是多个打开的连接(如果使用SQL)。我不知道我是否理解
Explanation: after 5sec of your dom is ready checkStatus() will call,
if success only  installation (); will call 
In installation (); success we are again calling checkStatus(). 
now you can check some condition for breaking this iterations