ReadableStreamBYOBReader: releaseLock() メソッド

releaseLock()ReadableStreamBYOBReader インターフェイスのメソッドで、ストリーム上のリーダーのロックを解除します。 ロックを解除すると、リーダーはアクティブではなくなります。

ロックを解除したときに関連するストリームにエラーが発生した場合、リーダーはその後同様にエラーが発生したようになります。 そうでない場合、リーダーは閉じた状態になります。

保留中の読み込みリクエストがある間にリーダーのロックが解除された場合、リーダーの ReadableStreamBYOBReader.read() メソッドによって返されるプロミスは、直ちに TypeError で拒否されます。 未読のチャンクはストリームの内部キューに残り、後で新しいリーダーを取得することで読み取ることができます。

構文

js
releaseLock()

引数

なし。

返値

なし (undefined)。

例外

TypeError

ソースオブジェクトが ReadableStreamBYOBReader ではない場合に発生します。

簡単な例を下記に示します。 ストリーム上にリーダーが作成されると同時にロックが作成されます。

js
const reader = stream.getReader({ mode: "byob" });
reader.releaseLock();

仕様書

Specification
Streams Standard
# ref-for-byob-reader-release-lock②

ブラウザーの互換性

BCD tables only load in the browser

関連情報