Baseline Widely available
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die close()
-Methode der ReadableStreamDefaultController
-Schnittstelle schlieÃt den zugehörigen Stream.
Leser können weiterhin alle zuvor in den Stream eingereihten Blöcke lesen, aber sobald diese gelesen wurden, wird der Stream geschlossen. Wenn Sie den Stream vollständig entfernen und alle eingereihten Blöcke verwerfen möchten, sollten Sie ReadableStream.cancel()
oder ReadableStreamDefaultReader.cancel()
verwenden.
Keine.
RückgabewertKeiner (undefined
).
TypeError
Wird ausgelöst, wenn close()
aufgerufen wird, während der Stream nicht lesbar ist â weil er bereits geschlossen, abgebrochen oder fehlerhaft ist â oder weil er vom zugrunde liegenden Quellobjekt gebeten wurde, sich zu schlieÃen, es aber noch nicht getan hat, da noch eingereihte Blöcke zum Lesen vorhanden sind.
Im folgenden einfachen Beispiel wird ein benutzerdefinierter ReadableStream
mithilfe eines Konstruktors erstellt (sehen Sie unser Einfaches Zufallsstrom-Beispiel für den vollständigen Code). Die start()
-Funktion generiert jede Sekunde einen zufälligen Textstring und reiht ihn in den Stream ein. Eine cancel()
-Funktion wird ebenfalls bereitgestellt, um die Generierung zu stoppen, wenn ReadableStream.cancel()
aus irgendeinem Grund aufgerufen wird.
Wenn eine Schaltfläche gedrückt wird, wird die Generierung gestoppt, der Stream wird mit close()
geschlossen und eine weitere Funktion wird ausgeführt, die die Daten wieder 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