Movatterモバイル変換


[0]ホーム

URL:


  1. 開発者向けのウェブ技術
  2. Web API
  3. ReadableStreamDefaultReader

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docsコミュニティーについてもっと知り、仲間になるにはこちらから。

View in EnglishAlways switch to English

ReadableStreamDefaultReader

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2020年1月⁩.

* Some parts of this feature may have varying levels of support.

ReadableStreamDefaultReaderストリーム API のインターフェイスで、ネットワークから提供されたストリームデータ(フェッチリクエストなど)を読み取るために使用できる既定のリーダーを表します。

ReadableStreamDefaultReader は、任意の種類の基盤ソースを持つReadableStream からの読み取りに使用することができます(基盤バイトソースを持つ読み取り可能なストリームにのみ使用することができるReadableStreamBYOBReader とは異なります)。

ただし、基盤ソースからのゼロコピー移譲は、バッファーを自動割り当てするバイトソースにのみ対応していることに注意してください。言い換えれば、ストリームは構築時に、type="bytes"autoAllocateChunkSize の両方が指定されたものでなければなりません。他にも基盤ソースがある場合、ストリームは常に内部キューからのデータで読み取りリクエストを満たします。

コンストラクター

ReadableStreamDefaultReader()

ReadableStreamDefaultReader オブジェクトのインスタンスを作成して返します。

インスタンスプロパティ

ReadableStreamDefaultReader.closed読取専用

ストリーミングプロセスの終了に応答するコードを記述できます。 ストリームが閉じられた場合、またはリーダーのロックが解除された場合に履行されるプロミスを返します。 ストリームがエラーの場合は拒否されます。

インスタンスメソッド

ReadableStreamDefaultReader.cancel()

ストリームをキャンセルし、コンシューマーがストリームに興味を失ったことを通知します。 提供された引数reason は、基盤ソースに与えられ、使用する場合もしない場合もあります。

ReadableStreamDefaultReader.read()

ストリームの内部キュー内の次のチャンクへのアクセスを提供するプロミスを返します。

ReadableStreamDefaultReader.releaseLock()

ストリームのリーダーのロックを解除します。

次の例では、別のリソースから取得した HTML の断片をブラウザーにストリーミングするために、人工的なResponse を作成します。

これはUint8Array と組み合わせたReadableStream の使用方法を示します。

js
fetch("https://www.example.org/").then((response) => {  const reader = response.body.getReader();  const stream = new ReadableStream({    start(controller) {      // 次の関数は各データチャンクを処理します      function push() {        // done は Boolean で、value は Uint8Array です        return reader.read().then(({ done, value }) => {          // 読み取るデータはもうありませんか?          if (done) {            // データの送信が完了したことをブラウザーに伝えます            controller.close();            return;          }          // データを取得し、コントローラー経由でブラウザーに送信します          controller.enqueue(value);          push();        });      }      push();    },  });  return new Response(stream, { headers: { "Content-Type": "text/html" } });});

仕様書

Specification
Streams
# default-reader-class

ブラウザーの互換性

関r根情報

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp