javascript / intermediate
Snippet
Entkopplung von Systemen mit EventEmitter
Die EventEmitter-Klasse ist zentral für die asynchrone Architektur von Node.js. Sie ermöglicht es Objekten, benannte Ereignisse auszulösen, die den Aufruf von Funktionsobjekten ('Listenern') bewirken. Dies ist ein leistungsstarkes Muster zur Entkopplung der Logik über verschiedene Module einer Anwendung hinweg.
snippet.js
javascript
1
2
3
4
5
6
7
8
9
10
11
const EventEmitter = require('node:events');class AuditService extends EventEmitter {}const audit = new AuditService();audit.on('access', (user, resource) => {console.log(`Log: ${user} accessed ${resource} at ${new Date()}`);});// In another part of the app:audit.emit('access', 'Admin', 'FinancialReport');
nodejs
Erklärung
1
class AuditService extends EventEmitter {}
Erbt integrierte Ereignis-Funktionen unter Verwendung von objektorientierter Programmierung.
2
audit.emit('access', ...);
Löst das Ereignis aus und übergibt Daten an alle registrierten Listener.