更新时间:2024-08-14 19:50:29
ReadableStreamDefaultReader 接口用于可读流操作,基于 Web APIs 标准 ReadableStreamDefaultReader 设计。
注意:
不支持直接构造 ReadableStreamDefaultReader 对象,需使用 ReadableStream.getReader 方法获取:
const { readable, writable } = new TransformStream();
const reader = readable.getReader();
closedPromise<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 仍保持锁定状态。