ReadableStreamBYOBReader: cancel() 方法

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

注意:此功能在 Web Workers 中可用。

ReadableStreamBYOBReader 接口的 cancel() 方法返回一个 Promise,该 Promise 在流被取消时解析。调用此方法表示消费者对该流失去兴趣。

注意: 如果读取器处于活动状态,cancel() 方法的行为与关联流的(ReadableStream.cancel())相同。

语法

js
cancel()
cancel(reason)

参数

reason 可选

取消的可读原因。底层源可能会使用它,也可能不会。

返回值

一个 Promise,它以 reason 参数中给定的值实现。

异常

TypeError

源对象不是 ReadableStreamBYOBReader,或者流没有所有者。

示例

此示例代码在按下按钮时调用 cancel() 方法,并将字符串“user choice”作为原因传递。取消完成后,Promise 将解析。

js
button.addEventListener("click", () => {
  reader.cancel("user choice").then(() => console.log(`cancel complete`));
});

请注意,可以在 使用可读字节流 示例代码中看到此代码正在运行(按下“取消流”按钮)。

规范

规范
Streams
# ref-for-generic-reader-cancel②

浏览器兼容性

另见