A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://developer.mozilla.org/de/docs/Web/API/ReadableStream/tee below:

ReadableStream: tee()-Methode - Web-APIs | MDN

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Die tee()-Methode der ReadableStream-Schnittstelle teilt den aktuellen lesbaren Stream und gibt ein Array mit zwei Elementen zurück, das die beiden resultierenden Zweige als neue ReadableStream-Instanzen enthält.

Dies ist nützlich, um zwei Lesern zu ermöglichen, einen Stream nacheinander oder gleichzeitig, vielleicht mit unterschiedlichen Geschwindigkeiten, zu lesen. Zum Beispiel könnte dies in einem ServiceWorker nützlich sein, wenn Sie eine Antwort vom Server abrufen und sie an den Browser streamen, aber auch an den ServiceWorker-Cache streamen möchten. Da ein Antwortkörper nicht mehr als einmal konsumiert werden kann, benötigen Sie zwei Kopien, um dies zu tun.

Ein geteilter Stream signalisiert teilweisen Rückstau mit der Rate des schnelleren Verbrauchers der beiden ReadableStream-Zweige, und ungelesene Daten werden intern im langsamer konsumierten ReadableStream ohne Begrenzung oder Rückstau im Puffer gespeichert. Das heißt, wenn beide Zweige ein ungelesenes Element in ihrer internen Warteschlange haben, dann wird die interne Warteschlange des Controllers des ursprünglichen ReadableStream beginnen sich zu füllen, und sobald seine desiredSize ≤ 0 oder die des Byte-Stream-Controllers desiredSize ≤ 0, wird der Controller aufhören, pull(controller) auf der an ReadableStream() übergebenen zugrundeliegenden Quelle aufzurufen. Wenn nur ein Zweig konsumiert wird, wird der gesamte Körper im Speicher gespeichert. Daher sollten Sie die eingebaute tee() nicht verwenden, um sehr große Streams parallel mit unterschiedlichen Geschwindigkeiten zu lesen. Suchen Sie stattdessen nach einer Implementierung, die den Rückstau vollständig an die Geschwindigkeit des langsamer konsumierten Zweiges anpasst.

Um den Stream abzubrechen, müssen Sie dann beide resultierenden Zweige abbrechen. Das Teilen eines Streams wird ihn generell für die Dauer sperren, um zu verhindern, dass andere Leser ihn sperren.


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