如何在某些结果后停止木瓜蛋白酶流式传输
我正在使用PapaPase使用大块模式解析大型CSV文件。
我正在验证csv数据,并且我想在验证失败时停止流式传输。
但是经过一些解析,我无法停止流式传输。
我试图停止使用来自块回调的return false,但是不起作用。
下面是代码。
$("#fileselect").on("change", function(e){
if (this.files.length) {
var file = this.files[0]
count = 0;
Papa.parse(file, {
worker: true,
delimiter: "~~",
skipEmptyLines:true,
chunk: function (result) {
count += result.data.length;
console.clear();
console.log(count);
if (count>60000) {
return false;
}
},
complete: function (result, file) {
console.log(result)
}
});
}
});
回答如下:Chunk和Step都同样可以访问解析器,您可以使用它来暂停,继续或(根据需要)中止。
step: function(results, parser) {
console.log("Row data:", results.data);
console.log("Row errors:", results.errors);
}’
因此,在您的实例中,您需要执行此操作(未经测试):
$("#fileselect").on("change", function(e){
if (this.files.length) {
var file = this.files[0]
count = 0;
Papa.parse(file, {
worker: true,
delimiter: "~~",
skipEmptyLines:true,
chunk: function (result, parser) {
count += result.data.length;
console.clear();
console.log(count);
if (count>60000) {
//return false;
parser.abort(); // <-- stop streaming
}
},
complete: function (result, file) {
console.log(result)
}
});
}
});
查看步骤和块的文档。
https://www.papaparse/docs
希望这有所帮助!
如何在某些结果后停止木瓜蛋白酶流式传输
我正在使用PapaPase使用大块模式解析大型CSV文件。
我正在验证csv数据,并且我想在验证失败时停止流式传输。
但是经过一些解析,我无法停止流式传输。
我试图停止使用来自块回调的return false,但是不起作用。
下面是代码。
$("#fileselect").on("change", function(e){
if (this.files.length) {
var file = this.files[0]
count = 0;
Papa.parse(file, {
worker: true,
delimiter: "~~",
skipEmptyLines:true,
chunk: function (result) {
count += result.data.length;
console.clear();
console.log(count);
if (count>60000) {
return false;
}
},
complete: function (result, file) {
console.log(result)
}
});
}
});
回答如下:Chunk和Step都同样可以访问解析器,您可以使用它来暂停,继续或(根据需要)中止。
step: function(results, parser) {
console.log("Row data:", results.data);
console.log("Row errors:", results.errors);
}’
因此,在您的实例中,您需要执行此操作(未经测试):
$("#fileselect").on("change", function(e){
if (this.files.length) {
var file = this.files[0]
count = 0;
Papa.parse(file, {
worker: true,
delimiter: "~~",
skipEmptyLines:true,
chunk: function (result, parser) {
count += result.data.length;
console.clear();
console.log(count);
if (count>60000) {
//return false;
parser.abort(); // <-- stop streaming
}
},
complete: function (result, file) {
console.log(result)
}
});
}
});
查看步骤和块的文档。
https://www.papaparse/docs
希望这有所帮助!