ReadableStreamBYOBReader: cancel() 方法

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

cancel() 方法是 ReadableStreamBYOBReader 接口的方法,它返回一个 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②

浏览器兼容性

BCD 表格仅在启用了 JavaScript 的浏览器中加载。

另请参阅