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 (将#修改为@)