我在弄清楚在JavaScript中处理大型数据集的最佳策略是什么。我有四个小时的数据读取间隔100毫秒的文件。如何在javascript中处理海量数组
这会变成一维数组,但我无法一次加载所有东西。我应该尝试将它分解成更小的数组,并且是否存在最佳数组大小?
任何意见,将不胜感激,这是我第一次不得不处理这类问题。有些阵列只有500kb,但它们仍不会作为单个模块输出加载。 AJAX是否因为某种原因更好地工作?如果是这样,为什
我在弄清楚在JavaScript中处理大型数据集的最佳策略是什么。我有四个小时的数据读取间隔100毫秒的文件。如何在javascript中处理海量数组
这会变成一维数组,但我无法一次加载所有东西。我应该尝试将它分解成更小的数组,并且是否存在最佳数组大小?
任何意见,将不胜感激,这是我第一次不得不处理这类问题。有些阵列只有500kb,但它们仍不会作为单个模块输出加载。 AJAX是否因为某种原因更好地工作?如果是这样,为什
您可以使用fetch()
和.getReader()
属性Response
(返回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));
@MFave您还可以使用'.pipeTo()'将'ReadableStream'管道连接到一个'WritableStream'实例,参见[通过stdin接收数据并将其作为变量/数组存储](https://stackoverflow.com/q/ 45427642 /) – guest271314
这是在浏览器中或在Nodejs中?另外,请包括您的代码。 – Svenskunganka
你一定要使用批量大小来通过网络获取数据。 –
也许网络工作者和套接字 – JGFMK