TypeScript · Middle · Запитання 73 з 75

Як реалізувати типобезпечний event emitter?

type Events = { login: { userId: string }; logout: undefined };
on<K extends keyof Events>(event: K, cb: (payload: Events[K]) => void): void;

Пояснення

Друкарська помилка в імені події чи неправильний payload стають помилками компіляції.

Де почитати

Помилка в запитанні

TypeScript · Middle · запитання 73

Перевірте себе

Пройдіть тест TypeScript · Middle: запитання й варіанти перемішуються, а наприкінці - розбір помилок.

Пройти цей тест