我在弄清楚在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