Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.
WritableStream
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Mai 2022.
* Some parts of this feature may have varying levels of support.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Das WritableStream-Interface der Streams-API bietet eine standardisierte Abstraktion für das Schreiben von Streaming-Daten an ein Ziel, bekannt als Senke.
Dieses Objekt verfügt über eingebauten Gegendruck und Warteschlangen.
WritableStream ist ein übertragbares Objekt.
Konstruktor
WritableStream()-
Erstellt ein neues
WritableStream-Objekt.
Instanz-Eigenschaften
WritableStream.lockedSchreibgeschützt-
Ein boolescher Wert, der anzeigt, ob das
WritableStreaman einen Schreibenden gebunden ist.
Instanz-Methoden
WritableStream.abort()-
Bricht den Stream ab, wobei signalisiert wird, dass der Erzeuger nicht mehr erfolgreich in den Stream schreiben kann und er sofort in einen Fehlerzustand versetzt wird, wobei alle in der Warteschlange befindlichen Schreibvorgänge verworfen werden.
WritableStream.close()-
Schließt den Stream.
WritableStream.getWriter()-
Gibt eine neue Instanz von
WritableStreamDefaultWriterzurück und sperrt den Stream für diese Instanz. Solange der Stream gesperrt ist, kann kein anderer Schreibender erworben werden, bis dieser freigegeben wird.
Beispiele
Das folgende Beispiel veranschaulicht mehrere Merkmale dieses Interfaces. Es erstellt das WritableStream mit einer benutzerdefinierten Senke. Anschließend wird die getWriter()-Methode des Streams aufgerufen, die eine Instanz von WritableStreamDefaultWriter zurückgibt. Danach werden mehrere Zeichenfolgen in den Stream geschrieben. Schließlich gibt close() ein Versprechen zurück, das aufgelöst wird, wenn alle Schreibvorgänge erfolgreich abgeschlossen wurden.
const writableStream = new WritableStream(
// Implement the sink
{
write(chunk) {
const textElement = document.getElementById("text-output");
textElement.textContent += chunk;
},
},
);
const writer = writableStream.getWriter();
try {
writer.write("Hello, ");
writer.write("world!\n");
writer.write("This has been a demo!\n");
await writer.close(); // wait for all chunks to be written
console.log("All chunks written");
} catch (error) {
console.error("Stream error: ", error);
}
Dieses Beispiel unterstützt nicht das Gegendruck-Feature von Streams.
Spezifikationen
| Specification |
|---|
| Streams> # ws-class> |
Browser-Kompatibilität
Loading...