0 Tage Serie
javascript / intermediate
Snippet

Entkopplung von Logik mit EventEmitters

EventEmitters ermöglichen eine ereignisgesteuerte Architektur, in der Komponenten auf Aktionen reagieren können, ohne eng mit der Logik verknüpft zu sein, die sie ausgelöst hat.

snippet.js
javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
const EventEmitter = require('node:events');
const eventBus = new EventEmitter();
// Observer 1: Logging
eventBus.on('user_signup', (user) => console.log(`Log: New user ${user.email}`));
// Observer 2: Email logic
eventBus.on('user_signup', (user) => sendWelcomeEmail(user));
function registerUser(data) {
// ... logic ...
eventBus.emit('user_signup', data);
}
nodejs
Erklärung
1
eventBus.on('user_signup', ...)
Abonniert einen Listener für einen bestimmten Event-Namen. Es können mehrere Listener an ein Event gebunden werden.
2
eventBus.emit('user_signup', data)
Löst das Event aus und übergibt die Daten-Payload synchron an alle registrierten Listener.