/
difight
/
ruEngine
Обзор
Документация
Войти
/
difight
/
ruEngine
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
client/src/engine/utils/EventEmitter.ts
30 строк
875 B
Andrey Bashkirev
refactor and add readme
30 июл 2025, 19:33
30 июл 2025, 19:33
714c914
Код
Авторство
О чём код?
/** * Простой EventEmitter для подписки и вызова событий */ export class EventEmitter { private readonly listeners: Map<string, Array<(data?: any) => void>> = new Map(); /** * Подписаться на событие * @param event Имя события * @param callback Колбэк, вызываемый при событии */ on(event: string, callback: (data?: any) => void): void { if (!this.listeners.has(event)) { this.listeners.set(event, []); } this.listeners.get(event)?.push(callback); } /** * Вызвать событие * @param event Имя события * @param data Данные события */ emit(event: string, data?: any): void { const callbacks = this.listeners.get(event); if (callbacks) { callbacks.forEach(cb => cb(data)); } } }