@flowlab/event
Version:
FlowLab event-driven system
34 lines (33 loc) • 974 B
TypeScript
import { IEventBus, EventHandler, EventPayload } from '../types';
/**
* EventBus 抽象基类,提供 emit/on/off 的基础能力
*/
export declare class EventBus implements IEventBus {
protected handlers: Map<string, Set<EventHandler>>;
/**
* 触发事件
* @param eventName - 事件名称
* @param payload - 事件数据
*/
emit(eventName: string, payload: EventPayload): Promise<void>;
/**
* 绑定事件处理器
* @param eventName - 事件名称
* @param handler - 事件处理函数
*/
on(eventName: string, handler: EventHandler): void;
/**
* 解绑事件处理器
* @param eventName - 事件名称
* @param handler - 事件处理函数
*/
off(eventName: string, handler: EventHandler): void;
/**
* 启动事件监听(由子类实现)
*/
start(): Promise<void>;
/**
* 停止事件监听(由子类实现)
*/
stop(): Promise<void>;
}