--- title: ReadableStreamDefaultReader slug: Web/API/ReadableStreamDefaultReader tags: - API - Fetch - Interface - ReadableStreamDefaultReader - Reference - Streams translation_of: Web/API/ReadableStreamDefaultReader ---
{{APIRef("Streams")}}
Streams API の ReadableStreamDefaultReader
インターフェイスは、ネットワークから提供されたストリームデータ(フェッチ要求など)を読み取るために使用できるデフォルトのリーダーを表します。
ReadableStreamDefaultReader
オブジェクトのインスタンスを作成して返します。次の例では、別のリソースから取得した HTML の断片をブラウザーにストリーミングするために、人工的な {{domxref("Response")}} を作成します。
これは {{jsxref("Uint8Array")}} と組み合わせた {{domxref("ReadableStream")}} の使用方法を示します。
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" } }); });
仕様 | 状態 | コメント |
---|---|---|
{{SpecName('Streams','#default-reader-class','ReadableStreamDefaultReader')}} | {{Spec2('Streams')}} | 初期定義 |
{{Compat("api.ReadableStreamDefaultReader")}}