Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

ReadableByteStreamController: enqueue() Methode

Baseline 2026
Neu verfügbar

Seit March 2026 funktioniert diese Funktion auf aktuellen Geräten und in aktuellen Browserversionen. Auf älteren Geräten oder in älteren Browsern funktioniert sie möglicherweise nicht.

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Die enqueue()-Methode der ReadableByteStreamController-Schnittstelle stellt ein gegebenes Datenstück in den zugehörigen lesbaren Bytestrom in die Warteschlange (das Datenstück wird in die internen Warteschlangen des Streams übertragen).

Dies sollte nur verwendet werden, um Daten in die Warteschlange zu übertragen, wenn byobRequest null ist.

Syntax

js
enqueue(chunk)

Parameter

chunk

Das Datenstück, das in die Warteschlange gestellt wird.

Rückgabewert

Keiner (undefined).

Ausnahmen

TypeError

Wird ausgelöst, wenn das Quellobjekt kein ReadableByteStreamController ist, oder der Stream aus einem anderen Grund nicht gelesen werden kann, oder das Datenstück kein Objekt ist, oder der interne Array-Puffer des Datenstücks nicht existiert, null oder abgetrennt ist. Es wird auch ausgelöst, wenn der Stream geschlossen wurde.

Beispiele

Das Beispiel in Verwendung von lesbaren Bytestreams > Erstellen eines lesbaren Socket-Push-Bytestreams zeigt, wie Sie enqueue() verwenden können, um Daten in den Stream zu kopieren, wenn kein ausstehender byobRequest vorhanden ist. Wenn ein byobRequest vorliegt, sollte dieser verwendet werden!

Der folgende Code zeigt, wie Daten mittels einer "hypothetischen" socket.readInto()-Methode in einen ArrayBuffer gelesen und dann in die Warteschlange gestellt werden (aber nur, wenn tatsächlich Daten kopiert wurden):

js
const buffer = new ArrayBuffer(DEFAULT_CHUNK_SIZE);
bytesRead = socket.readInto(buffer, 0, DEFAULT_CHUNK_SIZE);
if (bytesRead === 0) {
  controller.close();
} else {
  controller.enqueue(new Uint8Array(buffer, 0, bytesRead));
}

Spezifikationen

Spezifikation
Streams
# ref-for-rbs-controller-enqueue①

Browser-Kompatibilität

Siehe auch