当您想从 ReadableStream 读取数据,而不是将其输出管道传输到 WritableStream 时,需要使用 reader。
ReadableStreamDefaultReader 不能通过其构造函数实例化,而是从 ReadableStream 获取:
const { readable, writable } = new TransformStream();
const reader = readable.getReader();-
reader.closed: Promise- 表示 reader 是否已关闭的 promise。当 reader stream 关闭时 promise fulfilled,stream 出错时 rejected。
-
read(): Promise- 返回通过 reader 队列传递的下一个可用数据 chunk 的 promise。
-
cancel(reasonstringoptional): void- 取消 stream。
reason是可选的人类可读字符串,表示取消原因。reason将传递给底层 source 的 cancel 算法 — 如果此可读流是TransformStream的一侧,则其 cancel 算法会导致 transform 的可写侧因reason而进入 errored 状态。
- 取消 stream。
-
releaseLock(): void- 释放对可读流的锁定。如果 reader 有待处理的 read 操作,则无法释放锁定。将抛出
TypeError,reader 仍保持锁定状态。
- 释放对可读流的锁定。如果 reader 有待处理的 read 操作,则无法释放锁定。将抛出