并行ajax调用-行为类似于多线程系统

parallel ajax calls - behavior like multithreaded system

本文关键字:类似于 多线程 系统 -行 ajax 调用 并行      更新时间:2023-09-26

我有一个java代码,每次处理一行csv文件。我想用当前正在处理的记录更新用户,比如(1000中的1个已完成,1000中的3个已完成等等)。这是我迄今为止编写的一段代码。第一个调用是PROCESS FILE,重复3秒的第二个调用是GET CURRENT RECORD。

$.ajax({
        type : "POST",
        url : "/service_member_import.jsp",
        aysnc: false,
        data: {
             "action":"processrecords",
             "ms": new Date().getTime()
         },   
         dataType : 'html',
        success : function(data) {
            console.log("file processed");
        },
     error: function(){
            alert("Error retrieving data");
        }
    });
setInterval(update, 3000);
update();
function update() {
      $.ajax({
            type : "POST",
            url : "service_member_import.jsp",
            data: {
                 "action":"getStatus",
                 "ms": new Date().getTime()
             },   
            dataType : 'html',
            success : function(data) {
                console.log("current data't");
                console.log(data);
            },
         error: function(){
                alert("Error retrieving data");
            }
        });
}

当前的行为是,它处理所有记录(即第一次ajax调用),然后给我当前处理的记录(即第二次ajax呼叫)。即两个ajax调用不是并行进行的。

如果你认为有更好的方法来实现这一点,请建议我。或者我们是否可以使这些ajax调用并行。

您的Web服务器似乎正在阻止第二个请求,直到第一个请求完成。。。

您需要一个非阻塞或线程服务器才能正常工作。

你在用什么平台?(Ruby/Rails、Node/Sails、PHP/Cake、Python/Django等)

我终于发现这两个ajax调用是并行的。只是记录的数量太少了,所以第一次ajax调用几乎立即完成,给人的感觉是第二次ajax调用只是在最后进行的。

当我把记录增加到30000时。我可以看到第二个ajax调用确实在第一个ajax调用之间中断了。

感谢您的帮助:)