@lcap/asl
Version:
NetEase Application Specific Language
30 lines (29 loc) • 822 B
TypeScript
export declare type EventListener = (...args: Array<any>) => any;
export declare class EventEmitter {
private readonly _events;
/**
* 监听事件
* @param eventName 事件名
* @param listener 监听器
*/
on(eventName: string, listener: EventListener): void;
/**
* 取消监听事件
* @param eventName 事件名
* @param listener 监听器
*/
off(eventName: string, listener: EventListener): void;
/**
* 只监听一次事件
* @param eventName 事件名
* @param listener 监听器
*/
once(eventName: string, listener: EventListener): void;
/**
* 触发事件
* @param eventName 事件名
* @param args 事件参数
*/
emit(eventName: string, ...args: Array<any>): void;
}
export default EventEmitter;