從 Uint8Array 建立 ReadableStream
的簡單方法是使用 ReadableStream
建構函式,並將整個陣列作為單一區塊放入佇列。對於較大的區塊,這可能不太理想,因為它實際上並非「串流」資料。
const arr = new Uint8Array(64);
const stream = new ReadableStream({
start(controller) {
controller.enqueue(arr);
controller.close();
},
});
若要以較小的區塊串流資料,首先從 Uint8Array
建立一個 Blob
實例。然後使用 Blob.stream()
方法建立一個 ReadableStream
,以指定大小的區塊串流資料。
const arr = new Uint8Array(64);
const blob = new Blob([arr]);
const stream = blob.stream();
區塊大小可以透過將數字傳遞給 .stream()
方法來設定。
const arr = new Uint8Array(64);
const blob = new Blob([arr]);
// set chunk size of 1024 bytes
const stream = blob.stream(1024);
請參閱 文件 > API > 二進制資料,以取得關於使用 Bun 操作二進制資料的完整文件。