Skip to content

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;