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

the next big thing  –  0 Kommentare
Anzeige

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.

Anzeige

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:

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

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.

Anzeige