UNPKG

vue-code-layout

Version:
59 lines (58 loc) 1.65 kB
/** * 简易浏览器端使用的 EventEmitter */ export declare class EventEmitter { private listeners; private anyHandler; /** * 监听事件 * @param event 事件名称 * @param cb 回调函数 * @returns */ on(event: string, cb: Function): this; /** * 监听全部事件。 * 此回调只能设置一个,设置后,其他通过 on 函数设置的监听器无效。 * @returns */ any(cb: (event: string, args: any[]) => any): this; /** * 触发事件 * @param event 事件名称 * @param a 事件参数 * @returns */ emit(event: string, ...a: any[]): this; /** * 触发异步事件,并获取返回值 * @param event 事件名称 * @param a 事件参数 * @returns 如果有多个事件监听器,则返回包含所有事件监听器返回值的数组。如果只有一个事件监听器,返回此监听器返回值。 */ emitAsync(event: string, ...a: any[]): Promise<any>; /** * 取消监听事件 * @param event 事件名称 * @param listener 监听器,如果为空,则移除全部监听器 */ off(event: string, listener?: Function | undefined): void; /** * 监听一次事件 * @param event 事件名 * @param listener 监听器 * @returns */ once(event: string, listener: Function): this; /** * 清除指定事件监听器 * @param event 事件名 */ clear(event: string): void; /** * 获取事件监听器 * @param event * @returns */ get(event: string): Function[] | undefined; }