Antwort: textStream() Methode
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die textStream() Methode der Response Schnittstelle gibt einen ReadableStream zurück, der verwendet werden kann, um die Inhalte des Antwortkörpers in UTF-8-Blöcken zu lesen.
Dies bietet einen einfacheren Mechanismus zum Streamen des Antwortkörpers als das Durchleiten des Response.body Bytestreams durch einen TextDecoderStream.
Hinweis:
Wenn die Methode bei einer Response mit einem Nullkörper aufgerufen wird, beispielsweise bei einer 204 Antwort, gibt textStream() einen gültigen leeren Stream zurück.
Syntax
textStream()
Parameter
Keine.
Rückgabewert
Ein ReadableStream.
Ausnahmen
TypeError-
Ausgelöst, wenn der Antwortkörper gestört oder gesperrt ist.
Beispiele
>Lesen des Inhalts des Antwortkörpers als Textstrom
Dieses Beispiel zeigt, wie man einen Antwortkörper als Textstrom liest.
Wir verwenden fetch(), um eine URL abzurufen und eine Response zu erhalten. Anschließend erhalten wir einen ReadableStream von dessen Körper mit textStream() und lesen den Text über einen Leser, der mit ReadableStream.getReader() erstellt wurde.
const pElem = document.querySelector("p");
async function streamResponseText(url) {
const response = await fetch(url);
const textStream = response.textStream();
// instead of
// const textStream = response.body.pipeThrough(new TextDecoderStream());
const reader = textStream.getReader();
while (true) {
const { value, done } = await reader.read();
if (done) break;
pElem.textContent += value;
}
}
streamResponseText("https://www.example.com");
Spezifikationen
| Spezifikation |
|---|
| Fetch> # dom-body-textstream> |