Baseline Widely available
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die ReadableStreamDefaultController
-Schnittstelle der Streams-API repräsentiert einen Controller, der die Steuerung des Zustands und der internen Warteschlange eines ReadableStream
ermöglicht. Standard-Controller dienen für Streams, die keine Byte-Streams sind.
Keiner. ReadableStreamDefaultController
-Instanzen werden automatisch während der ReadableStream
-Konstruktion erstellt.
ReadableStreamDefaultController.desiredSize
Schreibgeschützt
Gibt die gewünschte GröÃe zurück, die erforderlich ist, um die interne Warteschlange des Streams zu füllen.
ReadableStreamDefaultController.close()
SchlieÃt den zugehörigen Stream.
ReadableStreamDefaultController.enqueue()
Stellt ein gegebenes Chunk in die zugehörige Warteschlange des Streams.
ReadableStreamDefaultController.error()
Verursacht, dass alle zukünftigen Interaktionen mit dem zugehörigen Stream zu einem Fehler führen.
Im folgenden einfachen Beispiel wird ein benutzerdefinierter ReadableStream
mithilfe eines Konstruktors erstellt (siehe unser Einfaches Zufalls-Stream-Beispiel für den vollständigen Code). Die start()
-Funktion generiert jede Sekunde eine zufällige Textzeichenfolge und stellt sie in die Warteschlange des Streams. Eine cancel()
-Funktion wird ebenfalls bereitgestellt, um die Generierung zu stoppen, falls ReadableStream.cancel()
aus irgendeinem Grund aufgerufen wird.
Beachten Sie, dass ein ReadableStreamDefaultController
-Objekt als Parameter der start()
- und pull()
-Funktionen bereitgestellt wird.
Wenn eine Schaltfläche gedrückt wird, wird die Generierung gestoppt, der Stream mit ReadableStreamDefaultController.close()
geschlossen und eine weitere Funktion 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 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