Einführung in Node.js, Folge 18: Eigene Streams schreiben

Zusätzlich zu den in Node.js integrierten Streams lassen sich auch eigene schreiben. Zur Wahl stehen außer les- und scheibbaren Streams auch die sogenannten Transform-Streams, die Daten verändern und aggregieren können. Wie funktioniert das?

In Pocket speichern vorlesen Druckansicht
Lesezeit: 2 Min.
Von
  • Golo Roden

Zusätzlich zu den in Node.js integrierten Streams lassen sich auch eigene schreiben. Zur Wahl stehen außer les- und scheibbaren Streams auch die sogenannten Transform-Streams, die Daten verändern und aggregieren können. Wie funktioniert das?

Les- und schreibbare Streams sind in Node.js für den Zugriff auf Datenquellen zuständig, Transform-Streams dienen dem Verarbeiten der Daten. Von Haus aus kennt Node.js einige Streams, die sich in eigenen Anwendungen verwenden lassen, das eigentliche Potenzial entfaltet sich aber erst, wenn man eigene Streams schreibt.

Mehr Infos

Das grundlegende Vorgehen ist dabei immer gleich: Das Modul stream stellt eine Reihe von Basisklassen zur Verfügung, von denen eine eigene Klasse abzuleiten ist. Je nach Art des gewünschten Streams sind dann unterschiedliche Funktionen der Klasse zu überschreiben.

Besonders praktisch ist, dass Node.js die interne Verwaltung der Streams übernimmt. So muss man sich beispielsweise bei schreibbaren Streams nicht um den internen Puffer kümmern. Das übernimmt Node.js automatisch, sodass man unter anderem auf die bereits bekannte pipe-Funktion zurückgreifen kann.

Während les- und schreibbare Streams praktisch sind, um eigene Datenquellen anzubinden, eröffnen Transform-Streams eine schier endlose Reihe von Möglichkeiten, Daten zu verarbeiten. Da sie sich nahezu beliebig untereinander verbinden lassen, können im Prinzip beliebig komplexe Verarbeitungsschritte in einzelne Einheiten aufgebrochen werden, die sich flexibel kombinieren lassen.

Auf dem Weg lässt sich die Implementierung einzelner Verarbeitungsschritte hervorragend von dem Orchestrieren des eigentlichen Workflows trennen, was zu einem besseren Abstraktionsniveau auf den einzelnen Schichten führt. Diese Art zu programmieren ist zunächst gewöhnungsbedürftig, am Ende aber sehr effektiv und effizient.

Wie man eigene Streams schreibt und worauf es dabei zu achten gilt, zeigt das folgende Video:

Empfohlener redaktioneller Inhalt

Mit Ihrer Zustimmmung wird hier eine Vimeo-Video (Vimeo LLC) geladen.

Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit können personenbezogene Daten an Drittplattformen (Vimeo LLC) übermittelt werden. Mehr dazu in unserer Datenschutzerklärung.

tl;dr: Eigene Streams eröffnen neue Möglichkeiten, Daten effektiv und effizient zu verarbeiten. Sie lassen sich flexibel kombinieren und ermöglichen auf dem Weg das Orchestrieren von komplexen Workflows. ()