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②

瀏覽器相容性

另見