如何解决forRead循环中FileReader出现JavaScript“内存不足”错误
我有一个功能,可以读取多达300个文件(每个JSON带aprox的文件大小为20MB),并通过node.js服务器将其发送到influxdb。
现在的问题是,当我用15-25个文件执行代码时,一切工作正常,但是当我选择200或更多文件时,浏览器就会很快出现“内存不足”异常。
我认为它是for循环中的“新FileReader”,但是当我将其移到外部时,它将无法正常工作。
这是我的代码:
0 => string 'Azul' (length=6)
1 => string '32GB' (length=4)
,这里是.js文件中其他代码上方的“ writeTheData”函数的代码
for (var i = 0; i < fileList.length; i++) {
//console.log("a---------------------------");
let reader = new FileReader();
reader.onload = await onReaderLoad;
reader.readAsText(fileList[i]);
let tempData = "";
async function onReaderLoad(event) {
//console.log("b------");
//data1 = JSON.parse(event.target.result);
tempData = event.target.result; //send as text is much faster to the server as as parsed JSON
//console.log("c------");
await writeTheData(tempData);
//console.log("d------");
}
}
有什么解决办法吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。