Event Emitter Pattern
Lightweight event system for decoupled communication between components. Useful for custom events and pub-sub patterns.
JavaScript7/16/2025
#patterns#events#pub-sub
JavaScript
class EventEmitter { constructor() { this.events = {}; } on(event, callback) { if (!this.events[event]) { this.events[event] = []; } this.events[event].push(callback); } off(event, callback) { if (!this.events[event]) return; this.events[event] = this.events[event].filter(cb => cb !== callback); } emit(event, ...args) { if (!this.events[event]) return; this.events[event].forEach(callback => callback(...args)); } once(event, callback) { const wrapper = (...args) => { callback(...args); this.off(event, wrapper); }; this.on(event, wrapper); } }
...
Loading comments...