运行时包管理器打包器测试运行器代码检查格式化指南参考博客反馈

将 Buffer 转换为 ReadableStream

从 Buffer 创建 ReadableStream 的简单做法是使用 ReadableStream 构造函数,并将整个数组作为单个块入队。对于较大的缓冲区,这种做法可能不理想,因为它不会以较小的块流式传输数据。

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

要以更小的块流式传输数据,请先从 Buffer 创建一个 Blob 实例,然后使用 Blob.stream() 创建一个 ReadableStream。

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

向 .stream() 传入一个数字以设置块大小。

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

// 设置块大小为 1024 字节
const stream = blob.stream(1024);

参见二进制数据。