Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
ReadableStreamDefaultReader
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Januar 2020.
* Some parts of this feature may have varying levels of support.
Hinweis: Diese Funktion ist inWeb Workers verfügbar.
DasReadableStreamDefaultReader-Interface derStreams-API repräsentiert einen Standardleser, der verwendet werden kann, um Daten aus einem Netzwerkstrom zu lesen (wie z.B. eine Fetch-Anfrage).
EinReadableStreamDefaultReader kann verwendet werden, um aus einemReadableStream zu lesen, das eine zugrunde liegende Quelle beliebigen Typs hat (im Gegensatz zu einemReadableStreamBYOBReader, der nur mit Streams verwendet werden kann, die einezugrunde liegende Byte-Quelle haben).
Beachten Sie jedoch, dass Zero-Copy-Transfer von einer zugrunde liegenden Quelle nur für zugrunde liegende Byte-Quellen unterstützt wird, die Puffer automatisch zuweisen. Mit anderen Worten, der Stream muss sokonstruiert worden sein, dass sowohltype="bytes" als auchautoAllocateChunkSize angegeben sind. Für jede andere zugrunde liegende Quelle wird der Stream Leseanfragen immer mit Daten aus internen Warteschlangen befriedigen.
In diesem Artikel
Konstruktor
ReadableStreamDefaultReader()Erstellt und gibt eine
ReadableStreamDefaultReader-Objektinstanz zurück.
Instanz-Eigenschaften
ReadableStreamDefaultReader.closedSchreibgeschütztGibt ein
Promisezurück, das erfüllt wird, wenn der Stream geschlossen wird, oder abgelehnt wird, wenn der Stream einen Fehler wirft oder die Sperre des Lesers freigegeben wird. Diese Eigenschaft ermöglicht es Ihnen, Code zu schreiben, der auf ein Ende des Streaming-Prozesses reagiert.
Instanzmethoden
ReadableStreamDefaultReader.cancel()Gibt ein
Promisezurück, das aufgelöst wird, wenn der Stream abgebrochen wird. Das Aufrufen dieser Methode signalisiert einen Verlust des Interesses am Stream seitens des Konsumenten. Das übergebenereason-Argument wird der zugrunde liegenden Quelle übergeben, die es möglicherweise oder möglicherweise nicht verwendet.ReadableStreamDefaultReader.read()Gibt ein Promise zurück, das Zugriff auf das nächste Chunk in der internen Warteschlange des Streams bietet.
ReadableStreamDefaultReader.releaseLock()Gibt die Sperre des Lesers auf den Stream frei.
Beispiele
Im folgenden Beispiel wird eine künstlicheResponse erstellt, um HTML-Fragmentstücke, die von einer anderen Ressource abgerufen wurden, an den Browser zu streamen.
Es demonstriert die Verwendung einesReadableStream in Kombination mit einemUint8Array.
fetch("https://www.example.org/").then((response) => { const reader = response.body.getReader(); const stream = new ReadableStream({ start(controller) { // The following function handles each data chunk function push() { // "done" is a Boolean and value a "Uint8Array" return reader.read().then(({ done, value }) => { // Is there no more data to read? if (done) { // Tell the browser that we have finished sending data controller.close(); return; } // Get the data and send it to the browser via the controller controller.enqueue(value); push(); }); } push(); }, }); return new Response(stream, { headers: { "Content-Type": "text/html" } });});Spezifikationen
| Specification |
|---|
| Streams> # default-reader-class> |