@friendlyjesse/library
Version:
rollup + typescript 制作的工具函数函数库
35 lines (34 loc) • 1.06 kB
TypeScript
declare class EventBus {
/**
* 订阅列表
*/
private event;
/**
* 订阅事件
* @param name - 事件名
* @param callback - 回调
*/
on(name: string, callback: Function): void;
/**
* 触发事件
* @param {string} name - 事件名
* @param {args} args - 参数
*/
emit<T>(name: string, ...args: T[]): void;
/**
* 单次触发事件
* @param {string} name - 事件名
* @param {function} callback - 回调
*/
once<T>(name: string, callback: (...args: T[]) => void): void;
/**
* 取消事件
* @param {string=} name - 事件名
* @param {function=} callback - 事件
* @todo 如果没有传入参数,则移除所有事件监听器
* @todo 如果只提供了事件名(eventName),则移除该事件名对应的所有监听器
* @todo 如果同时提供了事件与回调,则只移除这个事件回调的监听器
*/
off(name: string, callback: Function): void;
}
export default EventBus;