ReadableStreamDefaultController: enqueue() Methode
Hinweis: Dieses Feature ist verfügbar in Web Workers.
Die enqueue()
Methode der
ReadableStreamDefaultController
Schnittstelle reiht ein gegebenes Chunk in den zugehörigen Stream ein.
Syntax
enqueue(chunk)
Parameter
chunk
-
Das Chunk, das eingereiht werden soll.
Rückgabewert
Keiner (undefined
).
Ausnahmen
TypeError
-
Wird ausgelöst, wenn das Quellobjekt kein
ReadableStreamDefaultController
ist.
Beispiele
Im folgenden einfachen Beispiel wird ein benutzerdefinierter ReadableStream
mithilfe
eines Konstruktors erstellt (siehe unser Einfaches zufälliges Stream-Beispiel für den vollständigen Code). Die start()
-Funktion erzeugt jede Sekunde einen
zufälligen Textstring und reiht ihn in den Stream ein — siehe
controller.enqueue(string)
. Eine cancel()
-Funktion wird ebenfalls
bereitgestellt, um die Erzeugung zu stoppen, falls ReadableStream.cancel()
aus irgendeinem Grund aufgerufen wird.
Wenn eine Taste gedrückt wird, wird die Erzeugung gestoppt, der Stream wird mit
ReadableStreamDefaultController.close()
geschlossen, und eine weitere Funktion wird ausgeführt,
die die Daten aus dem Stream zurückliest.
let interval;
const stream = new ReadableStream({
start(controller) {
interval = setInterval(() => {
let string = randomChars();
// Add the string to the stream
controller.enqueue(string);
// show it on the screen
let listItem = document.createElement("li");
listItem.textContent = string;
list1.appendChild(listItem);
}, 1000);
button.addEventListener("click", () => {
clearInterval(interval);
fetchStream();
controller.close();
});
},
pull(controller) {
// We don't really need a pull in this example
},
cancel() {
// This is called if the reader cancels,
// so we should stop generating strings
clearInterval(interval);
},
});
Spezifikationen
Specification |
---|
Streams Standard # ref-for-rs-default-controller-enqueue① |
Browser-Kompatibilität
BCD tables only load in the browser