ReadableStream: pipeTo() Methode
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since May 2022.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die pipeTo()
-Methode der ReadableStream
-Schnittstelle leitet den aktuellen ReadableStream
zu einem angegebenen WritableStream
und gibt ein Promise
zurück, das erfüllt wird, wenn der Piping-Prozess erfolgreich abgeschlossen ist, oder abgelehnt wird, wenn Fehler aufgetreten sind.
Das Piping eines Streams wird ihn in der Regel für die Dauer des Pipes sperren, was verhindert, dass andere Leser ihn sperren können.
Syntax
pipeTo(destination)
pipeTo(destination, options)
Parameter
destination
-
Ein
WritableStream
, der als endgültiges Ziel für denReadableStream
dient. options
Optional-
Die Optionen, die beim Piping zu dem
writable
Stream verwendet werden sollen. Verfügbare Optionen sind:preventClose
-
Wenn dies auf
true
gesetzt ist, wird das Schließen des Quell-ReadableStream
den Ziel-WritableStream
nicht mehr schließen. Die Methode wird ein erfülltes Versprechen zurückgeben, sobald dieser Prozess abgeschlossen ist, es sei denn, beim Schließen des Ziels tritt ein Fehler auf, in diesem Fall wird es mit diesem Fehler abgelehnt. preventAbort
-
Wenn dies auf
true
gesetzt ist, werden Fehler im Quell-ReadableStream
nicht mehr den Ziel-WritableStream
abbrechen. Die Methode wird ein mit dem Fehler der Quelle abgelehntes Versprechen zurückgeben oder mit jedem Fehler, der beim Abbrechen des Ziels auftritt. preventCancel
-
Wenn dies auf
true
gesetzt ist, werden Fehler im Ziel-WritableStream
nicht mehr den Quell-ReadableStream
abbrechen. In diesem Fall wird die Methode ein mit dem Fehler der Quelle abgelehntes Versprechen zurückgeben oder mit jedem Fehler, der beim Abbrechen der Quelle auftritt. Zusätzlich, wenn der Zielschreibstream geschlossen oder schließend ist, wird der Quelllesestream nicht mehr abgebrochen. In diesem Fall wird die Methode ein Versprechen mit einem Fehler zurückgeben, der anzeigt, dass das Piping zu einem geschlossenen Stream fehlgeschlagen ist, oder mit jedem Fehler, der beim Abbrechen der Quelle auftritt. signal
-
Wenn auf ein
AbortSignal
-Objekt gesetzt, können laufende Pipe-Operationen über den entsprechendenAbortController
abgebrochen werden.
Rückgabewert
Ein Promise
, das aufgelöst wird, wenn der Piping-Prozess abgeschlossen ist.
Ausnahmen
TypeError
-
Die
writableStream
- und/oderreadableStream
-Objekte sind kein schreibbarer/lesbarer Stream, oder einer oder beide Streams sind gesperrt.
Beispiele
// Fetch the original image
fetch("png-logo.png")
// Retrieve its body as ReadableStream
.then((response) => response.body)
.then((body) => body.pipeThrough(new PNGTransformStream()))
.then((rs) => rs.pipeTo(new FinalDestinationStream()));
Dasselbe Beispiel, aber mit await
:
(async () => {
// Fetch the original image
const response = await fetch("png-logo.png");
// Retrieve its body as ReadableStream
await response.body
.pipeThrough(new PNGTransformStream())
.pipeTo(new FinalDestinationStream());
})();
Spezifikationen
Specification |
---|
Streams # ref-for-rs-pipe-to④ |
Browser-Kompatibilität
Siehe auch
ReadableStream()
-Konstruktor- Pipe-Ketten