Bun

指南二進制資料

使用 Bun 將 Buffer 轉換為 ReadableStream

Buffer 建立 ReadableStream 的簡單方法是使用 ReadableStream 建構函式,並將整個陣列作為單一區塊排入佇列。對於大型 buffer,這種方法可能不理想,因為此方法不會以較小的區塊「串流」資料。

const buf = Buffer.from("hello world");
const stream = new ReadableStream({
  start(controller) {
    controller.enqueue(buf);
    controller.close();
  },
});

為了以較小的區塊串流資料,首先從 Buffer 建立一個 Blob 實例。然後使用 Blob.stream() 方法建立一個 ReadableStream,以指定大小的區塊串流資料。

const buf = Buffer.from("hello world");
const blob = new Blob([buf]);
const stream = blob.stream();

可以透過將數字傳遞給 .stream() 方法來設定區塊大小。

const buf = Buffer.from("hello world");
const blob = new Blob([buf]);

// set chunk size of 1024 bytes
const stream = blob.stream(1024);

請參閱文件 > API > 二進制資料,以取得關於使用 Bun 操作二進制資料的完整文件。