我有一个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调用并行。
答案 0 :(得分:0)
看起来您的网络服务器阻止了第二个请求,直到第一个请求完成...
您需要一个非阻塞或线程服务器才能工作。
您使用的是什么平台?(Ruby / Rails,Node / Sails,PHP / Cake,Python / Django等)
答案 1 :(得分:0)
我终于想通了两个ajax电话正在进行。只是记录的数量太少,因此第一个ajax调用几乎立即完成,并且感觉第二个ajax调用仅在最后进行。
我一旦将记录增加到30,000。我可以看到第二个ajax调用在第一个ajax调用之间中断了。
感谢您的帮助:)