我有一个包含大约200万条记录的大型文本文件,当我用ajax加载它需要花费很多时间时,我想将它拆分并连续加载拆分文件。
我使用此代码加载我要拆分的单个大文件
$.ajax({
url: "singleLargeFile.csv",
async: true,
success: function () {
process();
},
error: function(e) {
var errorMsg = e? (e.status + ' ' + e.statusText) : "";
console.log(errorMsg);
},
dataType: "text"
});
有没有办法加载多个文件,加载后每个文件都会触发其回调和加载下一个文件?
由于
答案 0 :(得分:0)
实际上jquery中有一个函数$.when()
我用它是这样的:
var loadFile1 = $.ajax({
url: "smallerFile1.csv",
async: true,
success: function () {
process1();
},
error: function(e) {
var errorMsg = e? (e.status + ' ' + e.statusText) : "";
console.log(errorMsg);
},
dataType: "text"
});
$.when(loadFile1).then(function(){
var loadFile2 = $.ajax({
url: "smallerFile2.csv",
async: true,
success: function () {
process2();
},
error: function(e) {
var errorMsg = e? (e.status + ' ' + e.statusText) : "";
console.log(errorMsg);
},
dataType: "text"
});
});
现在,在加载第一个文件然后触发第二个加载时执行process1,依此类推