Baseline Widely available
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die enqueue()
-Methode des ReadableStreamDefaultController
-Interfaces fügt ein angegebenes Chunk in den zugehörigen Stream ein.
chunk
Das Chunk, das eingefügt werden soll.
Keiner (undefined
).
TypeError
Wird ausgelöst, wenn enqueue()
aufgerufen wird, während der Stream nicht lesbar ist, weil er bereits geschlossen, abgebrochen oder fehlerhaft ist, oder weil die zugrunde liegende Quelle gebeten hat, ihn zu schlieÃen, dies aber noch nicht getan hat, da noch eingefügte Chunks zum Lesen vorhanden sind.
Im folgenden einfachen Beispiel wird ein benutzerdefinierter ReadableStream
mithilfe eines Konstruktors erstellt (siehe unser Einfaches Beispiel für einen zufälligen Stream für den vollständigen Code). Die start()
-Funktion erzeugt jede Sekunde einen zufällig generierten Textstring und fügt diesen in den Stream ein â siehe controller.enqueue(string)
. Eine cancel()
-Funktion wird ebenfalls bereitgestellt, um die Erzeugung zu stoppen, wenn ReadableStream.cancel()
aus irgendeinem Grund aufgerufen wird.
Wenn ein Button gedrückt wird, wird die Erzeugung gestoppt, der Stream wird mit ReadableStreamDefaultController.close()
geschlossen, und eine andere Funktion wird ausgeführt, die die Daten erneut aus dem Stream liest.
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 Browser-Kompatibilität Siehe auch MDN-Feedback-Box War diese Ãbersetzung hilfreich?
Diese Seite wurde automatisch aus dem Englischen übersetzt.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4