ReadableStreamDefaultReader: releaseLock() 方法

Baseline 广泛可用 *

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2020 年 1 月⁩ 起,所有主流浏览器均已支持。

* 此特性的某些部分可能存在不同级别的支持。

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

releaseLock() 方法是 ReadableStreamDefaultReader 接口的方法,用于释放读取器对流的锁定。

如果释放锁定后,关联的流处于错误状态,则读取器将 subsequently 以相同的方式显示错误;否则,读取器将显示为已关闭。

如果在读取器仍有待处理的读取请求时释放了读取器的锁定,则由读取器的 ReadableStreamDefaultReader.read() 方法返回的 Promise 将立即以 TypeError 被拒绝。未读取的数据块将保留在流的内部队列中,之后可以通过获取新读取器来读取。

语法

js
releaseLock()

参数

无。

返回值

无(undefined)。

异常

TypeError

如果源对象不是 ReadableStreamDefaultReader,则会抛出此异常。

示例

js
function fetchStream() {
  const reader = stream.getReader();

  // …

  reader.releaseLock();

  // …
}

规范

规范
Streams
# ref-for-default-reader-release-lock②

浏览器兼容性

另见