From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- .../web/api/readablestreamdefaultreader/index.html | 100 +++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 files/ja/web/api/readablestreamdefaultreader/index.html (limited to 'files/ja/web/api/readablestreamdefaultreader/index.html') diff --git a/files/ja/web/api/readablestreamdefaultreader/index.html b/files/ja/web/api/readablestreamdefaultreader/index.html new file mode 100644 index 0000000000..9470ada513 --- /dev/null +++ b/files/ja/web/api/readablestreamdefaultreader/index.html @@ -0,0 +1,100 @@ +--- +title: ReadableStreamDefaultReader +slug: Web/API/ReadableStreamDefaultReader +tags: + - API + - Fetch + - Interface + - ReadableStreamDefaultReader + - Reference + - Streams +translation_of: Web/API/ReadableStreamDefaultReader +--- +

{{APIRef("Streams")}}

+ +

Streams APIReadableStreamDefaultReader インターフェイスは、ネットワークから提供されたストリームデータ(フェッチ要求など)を読み取るために使用できるデフォルトのリーダーを表します。

+ +

コンストラクター

+ +
+
{{domxref("ReadableStreamDefaultReader.ReadableStreamDefaultReader", "ReadableStreamDefaultReader()")}}
+
ReadableStreamDefaultReader オブジェクトのインスタンスを作成して返します。
+
+ +

プロパティ

+ +
+
{{domxref("ReadableStreamDefaultReader.closed")}} {{readonlyInline}}
+
ストリーミングプロセスの終了に応答するコードを記述できます。 ストリームが閉じられた場合、またはリーダーのロックが解除された場合に満たされる promise を返します。 ストリームがエラーの場合は拒否します。
+
+ +

メソッド

+ +
+
{{domxref("ReadableStreamDefaultReader.cancel()")}}
+
ストリームをキャンセルし、コンシューマーがストリームに興味を失ったことを通知します。 提供された reason 引数は、基になるソースに与えられ、使用する場合もしない場合もあります。
+
{{domxref("ReadableStreamDefaultReader.read()")}}
+
ストリームの内部キュー内の次のチャンクへのアクセスを提供する promise を返します。
+
{{domxref("ReadableStreamDefaultReader.releaseLock()")}}
+
ストリームのリーダーのロックを解除します。
+
+ +

+ +

次の例では、別のリソースから取得した 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")}}

+
-- cgit v1.2.3-54-g00ecf