javascript / intermediate
Snippet
Decoupling Logic with EventEmitter
EventEmitter allows you to build a pub/sub pattern within your application. This decouples the logic of 'performing an action' from 'reacting to that action', making the code more modular.
snippet.js
1
2
3
4
5
6
7
8
9
10
11
12
13
const EventEmitter = require('events');const logger = new EventEmitter();logger.on('message', (data) => {console.log(`[LOG]: ${data.text} (Level: ${data.level})`);});function processTask(taskName) {// Perform logic...logger.emit('message', { text: `Task ${taskName} finished`, level: 'info' });}processTask('DatabaseBackup');
nodejs
Breakdown
1
logger.on('message', (data) => {
Registers a listener for the event named 'message'.
2
logger.emit('message', ...)
Triggers the event and passes the data object to all registered listeners.