リーダーを作成し、それでストリームをロックします。→●、MS
ストリームがロックされている間は、このリーダーが開放されるまで他のリーダーを取得できません。
"byob" | これにより、読み取り可能なバイト・ストリームを読み取ることができる ReadableStreamBYOBReader が作成されます(つまり、「独自のバッファーを持ち込む」読み取りを処理できます)。 |
---|---|
undefined(またはまったく指定されていない ― これがデフォルトです)。 | これにより、ストリームから個々のチャンクを読み取ることができる ReadableStreamDefaultReader が作成されます。 |
mode 値に応じて、ReadableStreamDefaultReader または ReadableStreamBYOBReader オブジェクトのインスタンス。
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 = value; 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); }); }
表示内容: |
表示内容: |