| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/de/docs/Web/API/ReadableByteStreamController | [Back] [Original] |
Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen bersetzt, und kann Fehler enthalten. Erfahre mehr ber dieses Experiment.
Seit Mrz 2026 funktioniert diese Funktion auf aktuellen Gerten und in aktuellen Browserversionen. Auf lteren Gerten oder in lteren Browsern funktioniert sie mglicherweise nicht.
Hinweis: Diese Funktion ist in Web Workers verfgbar.
Das ReadableByteStreamController-Interface der Streams API reprsentiert einen Controller fr einen lesbaren Byte-Strom.
Es ermglicht die Steuerung des Zustands und der internen Warteschlange eines ReadableStream mit einer zugrundeliegenden Byte-Quelle und erlaubt eine effiziente Zero-Copy-bertragung von Daten von der zugrundeliegenden Quelle zu einem Verbraucher, wenn die interne Warteschlange des Streams leer ist.
Eine Instanz dieses Controllertyps wird erstellt, wenn ein underlyingSource-Objekt mit der Eigenschaft type="bytes" als Argument an den ReadableStream()-Konstruktor bergeben wird.
Das underlyingSource-Objekt kann auch die Callback-Funktionen start() und pull() definieren.
Diese werden mit dem Controller als Parameter aufgerufen, um die zugrundeliegende Quelle einzurichten und Daten anzufordern, wenn sie bentigt werden.
Die zugrundeliegende Quelle verwendet den Controller, um Daten dem Stream ber seine Eigenschaft byobRequest oder die Methode enqueue() bereitzustellen.
byobRequest ist ein ReadableStreamBYOBRequest-Objekt, das eine ausstehende Anforderung von einem Verbraucher darstellt, um eine Zero-Copy-bertragung von Daten direkt zu einem Verbraucher durchzufhren.
byobRequest muss verwendet werden, um Daten zu kopieren, wenn es existiert (verwenden Sie in diesem Fall nicht enqueue())!
Wenn die zugrundeliegende Quelle Daten an den Stream bergeben muss und byobRequest null ist, kann die Quelle enqueue() aufrufen, um die Daten zu den internen Warteschlangen des Streams hinzuzufgen.
Beachten Sie, dass der byobRequest nur im "BYOB-Modus" erstellt wird, wenn eine Anforderung von einem Leser vorliegt und die interne Warteschlange des Streams leer ist.
Der "BYOB-Modus" wird aktiviert, wenn ein ReadableStreamBYOBReader verwendet wird (typischerweise erstellt durch Aufrufen von ReadableStream.getReader() mit dem Argument { mode: 'byob' }).
Er wird auch aktiviert, wenn ein Standardleser verwendet wird und autoAllocateChunkSize im ReadableStream()-Konstruktor angegeben ist.
Eine zugrundeliegende Byte-Quelle kann den Controller auch verwenden, um den Stream zu close(), wenn alle Daten gesendet wurden, und Fehler von der zugrundeliegenden Quelle mit error() zu melden.
Die Eigenschaft desiredSize des Controllers wird verwendet, um "Gegendruck" zu erzeugen, indem der zugrundeliegenden Quelle die Gre der internen Warteschlange mitgeteilt wird (kleine Werte zeigen an, dass die Warteschlange sich fllt, was der zugrundeliegenden Quelle signalisiert, dass es wnschenswert wre, den Zufluss zu pausieren oder zu drosseln).
Beachten Sie, dass auch wenn der Controller primr von der zugrundeliegenden Byte-Quelle verwendet wird, es keinen Grund gibt, warum er nicht von anderen Teilen des Systems gespeichert und genutzt werden kann, um das Signal an den Stream zu senden.
Keiner. ReadableByteStreamController-Instanzen werden automatisch erstellt, wenn ein underlyingSource mit der Eigenschaft type="bytes" an den ReadableStream()-Konstruktor bergeben wird.
ReadableByteStreamController.byobRequest SchreibgeschtztGibt die aktuelle BYOB-Anforderung zurck oder null, wenn keine ausstehende Anforderung vorliegt.
ReadableByteStreamController.desiredSize SchreibgeschtztGibt die gewnschte Gre zurck, die erforderlich ist, um die interne Warteschlange des Streams zu fllen.
ReadableByteStreamController.close()Schliet den zugeordneten Stream.
ReadableByteStreamController.enqueue()Fgt einen gegebenen Datenblock in den zugeordneten Stream ein.
ReadableByteStreamController.error()Fhrt dazu, dass alle zuknftigen Interaktionen mit dem zugeordneten Stream fehlschlagen.
Der Controller wird von einer zugrundeliegenden Quelle verwendet, um Daten zu bertragen oder einzureihen, um zu signalisieren, dass der Stream keine Daten mehr hat (geschlossen wurde) oder einen Fehler aufgetreten ist. Er wird auch verwendet, um der zugrundeliegenden Quelle von "oberhalb im Stream" die gewnschte Datenrate mit desiredSize zu signalisieren.
Das Beispiel in Verwendung von lesbaren Byte-Streams, insbesondere Erstellen eines lesbaren Socket-Push-Byte-Streams, zeigt die meisten dieser Flle.
| Spezifikation |
|---|
| Streams # rbs-controller-class |
ReadableByteStreamControllerByteLengthQueuingStrategyCountQueuingStrategyReadableStreamReadableStreamBYOBReaderReadableStreamBYOBRequestReadableStreamDefaultControllerReadableStreamDefaultReaderResponse.bodyTransformStreamTransformStreamDefaultControllerWindow.fetch()WritableStreamWritableStreamDefaultControllerWritableStreamDefaultWriterDer Bauplan fr ein besseres Internet.
Teile dieses Inhalts sind 19982026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfgbar unter einer Creative-Commons-Lizenz.
| Web Proxy Viewer | New URL | Original Page |