我使用papa parse加载大文件,可能超过300MB。
数据是这样的:
138,KOO," 0,2"
141,KOO," 0,2"
149,KOO," 0,2"
161,KOO," 0,2"
195,KOO," 0,2"
199,KOO," 0,2"
202,KOO," 0,2"
213,KOO," 0,2"
216,KOO," 2,0"
.....
但是发生加载内存泄漏错误,IE和Chrome
来源:
if (scaffolds.length == -1) {
console.log("1");
$.ajax({
dataType: "text",
type: "post",
url: "./data/" + currentParse + "_data.csv",
success: function(result) {
var geneData = CSVToArray(result);
parseGene(Date.now(), scaffold, geneData, 0, "", [], [], 0);
}
});
}
else {
console.log("2");
var groupNameAndScaffoldName = scaffold.name.split("@");
var groupName = groupNameAndScaffoldName[0];
var scaffoldName = groupNameAndScaffoldName[1];
var data = [];
Papa.parse("../data/dataset/" + sampleFolderName + "/" + groupName + "/" + scaffoldName + "_data.csv",{
download: true,
delimiter: "", // auto-detect
newline: "", // auto-detect
header: false,
dynamicTyping: false,
preview: 0,
encoding: "",
worker: true,
comments: false,
step: function(result, handle) {
if (result.data[0][0]) {
data.push(result.data[0]);
}
},
complete: function() {
parseGene(Date.now(), scaffold, data, 0, "", [], [], 0);
},
error: function(e) {
console.log(e);
},
skipEmptyLines: true,
chunk: undefined,
fastMode: false
});
}
我该如何调试?
答案 0 :(得分:0)
@ user3916421
如果要使用块,则不能使用step。然后,您可以使用chunk属性以与使用step相同的方式声明函数。另外,如果要管理块的大小,可以在同一配置对象中包含一个属性chunkSize。
Papa.parse("../data/dataset/" + sampleFolderName + "/" + groupName + "/" + scaffoldName + "_data.csv",{
download: true,
delimiter: "", // auto-detect
newline: "", // auto-detect
header: false,
dynamicTyping: false,
preview: 0,
encoding: "",
worker: true,
comments: false,
complete: function() {
parseGene(Date.now(), scaffold, data, 0, "", [], [], 0);
},
error: function(e) {
console.log(e);
},
skipEmptyLines: true,
chunk: function(result, handle) {
if (result.data[0][0]) {
data.push(result.data[0]);
}
},
chunkSize: 1024 * 1024 //in bytes
fastMode: false
});