javascript - javascript中如何处理海量数组

标签 javascript arrays

我正在尝试找出在 JavaScript 中处理大型数据集的最佳策略是什么。我的文件包含四个小时的数据,间隔为 100 毫秒。

这会变成一个一维数组,但是我无法立即加载所有内容。我应该尝试将其拆分为更小的数组吗?是否有最佳数组大小?

如有任何建议,我将不胜感激,这是我第一次处理此类问题。有些数组只有 500kb,但它们仍然不会作为单个模块导出加载。 AJAX 是否由于某种原因工作得更好?如果是这样为什么?

最佳答案

您可以使用 Responsefetch().getReader() 属性,它返回一个 ReadableStream ,以流的形式读取数据。

fetch("/path/to/server")
.then(response => response.body.getReader())
.then(reader => {
  const processStream = ({done, value}) => {
          if (done) {
            return reader.closed;
          }
          // do stuff with `value`:`Uint8Array` chunk of data
          return reader.read().then(processStream);
        }
  return reader.read().then(processStream);                
})
.then(() => "done reading stream")
.catch(err => console.error(err));

关于javascript - javascript中如何处理海量数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45526026/

相关文章:

javascript - 下拉菜单选择 .css 文件?

javascript - 保存位置的可排序 Div

java - 使用 (for) 语句从 Json 数组获取数据到 Java 中的按钮

arrays - 使用 JMESPath 过滤一个简单的数组

android - 无法在android中获取json数组

javascript - 使用ajax调用注册用户

javascript - Redux 处理新项目和 ID

javascript - 如何在 Jasmine Node.js 中测试事件?

c++ - 使用类的属性制作二维数组,更改值时遇到问题

c++ - 在构造函数中分配数组时出错