Bun

指南二進制資料

使用 Bun 將 Buffer 轉換為 ReadableStream

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

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 編輯二進制資料的完整文件。