ReadableStreamDefaultReader: ReadableStreamDefaultReader() Konstruktor
Hinweis: Dieses Feature ist verfügbar in Web Workers.
Der ReadableStreamDefaultReader()
Konstruktor erstellt und gibt eine neue Instanz eines ReadableStreamDefaultReader
-Objekts zurück.
Hinweis: Normalerweise würden Sie diesen Konstruktor nicht manuell verwenden; stattdessen würden Sie die Methode ReadableStream.getReader()
nutzen.
Syntax
new ReadableStreamDefaultReader(stream)
Parameter
stream
-
Der
ReadableStream
, der gelesen werden soll.
Rückgabewert
Eine Instanz des ReadableStreamDefaultReader
-Objekts.
Ausnahmen
TypeError
-
Wird ausgelöst, wenn der übergebene
stream
-Parameter keinReadableStream
ist oder bereits zum Lesen durch einen anderen Reader gesperrt ist.
Beispiele
Im folgenden einfachen Beispiel wird ein zuvor erstellter benutzerdefinierter ReadableStream
mithilfe eines ReadableStreamDefaultReader
gelesen, der mit getReader()
erstellt wurde. (siehe unser Einfaches Zufallsstrom-Beispiel für den vollständigen Code). Jeder Chunk wird nacheinander gelesen und in die Benutzeroberfläche ausgegeben, bis der Stream vollständig gelesen ist. Dann kehren wir aus der rekursiven Funktion zurück und geben den gesamten Stream in einem anderen Teil der Benutzeroberfläche aus.
function fetchStream() {
const reader = stream.getReader();
let charsReceived = 0;
// read() returns a promise that resolves
// when a value has been received
reader.read().then(function processText({ done, value }) {
// Result objects contain two properties:
// done - true if the stream has already given you all its data.
// value - some data. Always undefined when done is true.
if (done) {
console.log("Stream complete");
para.textContent = result;
return;
}
// value for fetch streams is a 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;
// Read some more, and call this function again
return reader.read().then(processText);
});
}
Spezifikationen
Specification |
---|
Streams Standard # ref-for-default-reader-constructor① |
Browser-Kompatibilität
BCD tables only load in the browser