Einführung in Node.js, Folge 8: Events auslösen und verarbeiten

the next big thing  –  0 Kommentare
Anzeige

Für die asynchrone Programmierung verwendet Node.js das Konzept der Callbacks. Allerdings gibt es Szenarien, wo andere Sprachmerkmale vorzuziehen sind. Das gilt beispielsweise dann, wenn etwas ohne voriges Zutun der Entwickler einfach passiert. Zu dem Zweck kennt Node.js Events. Wie funktionieren sie und was gilt es zu beachten?

Node.js kennt zahlreiche Konstrukte für die asynchrone Programmierung. Callbacks sind nur eins davon. Ergänzt werden sie von Events, Streams, Promises und Observables. Zusätzlich gibt es noch die Schlüsselwörter yield sowie async und await. Jedes davon hat individuelle Vor- und Nachteile, weshalb die Entscheidung für oder wider eine Variante bewusst getroffen werden sollte.

Im Gegensatz zu Callbacks sind Events darauf optimiert, mehrfach ausgelöst zu werden. Dabei gibt es stets zwei Beteiligte, ein auslösendes Objekt und eine verarbeitende Funktion. Als Basis für diese Objekte dient die Klasse EventEmitter aus dem Modul events, die Funktionen zum Auslösen und Verarbeiten von Events zur Verfügung stellt.

Für den Fall, dass die Möglichkeiten der Klasse nicht genügen, gibt es außerdem verschiedene Alternativen in der npm-Registry. Allerdings sollten diese nur in besonderen Fällen herangezogen werden. In der Regel genügt EventEmitter völlig.

Wie Events funktionieren und worauf es zu achten gilt, zeigt das folgende Video:

Einführung in Node.js, Folge 8: Events auslösen und verarbeiten

tl;dr: Events sind ein alternatives Konstrukt für die asynchrone Programmierung. Sie sind auf das Weiterleiten von Ereignissen spezialisiert, die ohne voriges Zutun der Entwickler einfach passieren. Node.js stellt dazu die Klasse EventEmitter zur Verfügung. Außerdem gibt es verschiedene Alternativen in der npm-Registry.

Anzeige