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

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

View in English Always switch to English

ReadableStreamDefaultReader: ReadableStreamDefaultReader() コンストラクター

Baseline 広く利用可能

この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2022年5月以降、すべてのブラウザーで利用可能です。

ReadableStreamDefaultReader() コンストラクターは、ReadableStreamDefaultReader オブジェクトのインスタンスを作成して返します。

メモ: 通常、このコンストラクターを手動で使用することはありません。 代わりに、ReadableStream.getReader() メソッドを使用してください。

構文

js
new ReadableStreamDefaultReader(stream)

引数

stream

読み取り対象となる ReadableStream

返値

ReadableStreamDefaultReader オブジェクトのインスタンス。

例外

TypeError

指定された stream 引数が ReadableStream ではないか、別のリーダーによる読み取りのために既にロックされています。

次の簡単な例では、getReader() を使用して作成した ReadableStreamDefaultReader を使用して、以前に作成したカスタムの ReadableStream を読み取ります(完全なコードについては、単純なランダムストリームの例を参照)。 各チャンクを順番に読み取り、ストリームの読み取りが完了するまで UI に出力します。 ストリームの読み取りが完了すると、再帰関数から戻り、ストリーム全体を UI の別の部分に出力します。

js
function fetchStream() {
 const reader = stream.getReader();
 let charsReceived = 0;
 // read() は、値を受け取ったときに解決する promise を返します
 reader.read().then(function processText({ done, value }) {
 // 結果オブジェクトには2つのプロパティが含まれます。
 // done - ストリームがすべてのデータを既に提供している場合は true。
 // value - 一部のデータ。 done が true の場合、常に undefined。
 if (done) {
 console.log("Stream complete");
 para.textContent = result;
 return;
 }
 // フェッチしたストリームの値は Uint8Array です
 charsReceived += value.length;
 const chunk = value;
 let listItem = document.createElement("li");
 listItem.textContent = `Received ${charsReceived} characters so far. Current chunk = ${chunk}`;
 list2.appendChild(listItem);
 result += chunk;
 // さらに読み、この関数を再度呼び出します
 return reader.read().then(processText);
 });
}

仕様書

仕様書
Streams
# ref-for-default-reader-constructor1

ブラウザーの互換性

関連情報

MDN の改良に協力

協力方法を知る

このページは MDN の貢献者によって に最終更新されました。

AltStyle によって変換されたページ (->オリジナル) /