/** * 发布订阅 * @filename: Events.ts * @author: Mr Prince * @date: 2021-09-24 10:42:28 */ declare type Listener = (...args: any[]) => void; declare class Events { private eventListeners; private getListeners; private setListeners; on(eventName: string, listener: Listener): Listener; /** * 只执行一次 * 需要使用返回值来取消 */ once(eventName: string, listener: Listener): Listener; off(eventName: string, listener: Listener): void; emit(eventName: string, ...args: any[]): void; } export default Events;