更新时间:2024-08-14 19:50:29
ReadableStreamDefaultReader
接口用于可读流操作,基于 Web APIs 标准 ReadableStreamDefaultReader
设计。
注意:
不支持直接构造 ReadableStreamDefaultReader
对象,需使用 ReadableStream.getReader
方法获取:
const { readable, writable } = new TransformStream();
const reader = readable.getReader();
closed
Promise<void>
(只读)read()
reader.read(): Promise<{ value: any, done: boolean }>
返回值: 返回一个 Promise,其中包含通过 reader 队列传递的下一个可用数据块。
描述: 从流中读取数据。
注意: 不允许在前一个流读取操作结束前,调用 read
方法发起下一个流读取操作。
reader.read
方法返回一个 Promise
,该 Promise
解析为 { value: theChunk, done: boolean }
格式的对象,其中:
done: false
完成。value: undefined
和 done: true
完成。cancel()
reader.cancel(reason?: string): Promise<void>
参数:
reason
(可选): 一个描述取消原因的可读字符串。描述: 取消流。 reason
将传递到底层源的取消算法 - 如果此可读流是 TransformStream
的一侧,则其取消算法会导致转换的可写侧因 reason
而出错。
警告: 任何尚未读取的数据都将丢失。
releaseLock()
reader.releaseLock(): void;
描述: 释放可读流上的锁。
注意: 如果 reader 具有待处理的读取操作,则无法释放锁。 如果发生这种情况,则会抛出 TypeError
,并且 reader 仍保持锁定状态。