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

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

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

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

Browser-Kompatibilität

Siehe auch