@guanghechen/event-bus
A simple event bus.
Install
npm install --save @guanghechen/event-bus
-
yarn
yarn add @guanghechen/event-bus
Usage
-
Basic
import type { IEvent, IEventHandler } from '@guanghechen/event-bus' import { EventBus } from '@guanghechen/event-bus' enum EventTypes { INIT = 'INIT', EXIT = 'EXIT', } const eventBus = new EventBus<EventTypes>() const handle: IEventHandler<EventTypes> = (evt: IEvent<EventTypes>) => { console.log('evt:', evt) } // Listen for specific event eventBus.on(EventTypes.INIT, handle) // Listen for specific event, and only need to be called once eventBus.once(EventTypes.INIT, handle) // Listen for all events eventBus.subscribe(handle, true) // Remove listener eventBus.removeListener(EventTypes.INIT, handle) // Remove subscriber eventBus.unsubscribe(handle)