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
1
2
3
4
5
6
7
8
9
10
11
12
13
const EventEmitter = require('node:events');const eventBus = new EventEmitter();// Observer 1: LoggingeventBus.on('user_signup', (user) => console.log(`Log: New user ${user.email}`));// Observer 2: Email logiceventBus.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.