Appearance
export declare class EventEmitter
Объект создает замкнутое api событий в рамках инстанса
Методы
listen(handler: EventHandler): void;
Создает обработчик всех событий (в рамках объекта)
on(event: string, handler: EventHandler): void;
Создает подписку на событие
off(event: string, handler: EventHandler): void;
Удоляет подписку на событие (handler
проверяется по ссылке)
typescript
const api = new EventEmitter();
const handler = (a: string, b: string, c: string) =>
console.log([a, b, c].join());
// создаем подписку
api.on("click", handler);
// удоляем подписку
api.off("click", handler);
emit(event: string, ...args: any): void;
Вызывает все handler
переданного события
typescript
api.on("log", (message: string) => console.log(message));
api.on("log", (message: string, name: string) =>
console.log([message, name].join(", "))
);
api.on("log", (message: string, name: string) =>
console.log([message, name].join(" - "))
);
api.emit("log", "Hello", "Tom");
В консоль будет выведено:
Hello
Hello, Tom
Hello - Tom
Типы
export type EventHandler = (...args: any) => void;