@thatcompany/ts-tool
Version:
基于TypeScript编写的工具库
36 lines (35 loc) • 1.19 kB
TypeScript
import { TEventID } from '../../../../types/index';
export declare class ApplicationEventPublisher {
protected eventBus: Map<string, {
instance: any;
method: Function;
sort?: number;
}[]>;
constructor(eventBus?: Map<string, {
instance: any;
method: Function;
sort?: number;
}[]>);
/**
* 发布事件
* @param args 事件参数
*/
publishEvent(...args: any[]): void;
/**
* 发布异步事件
* @param args 事件参数
*/
publishAsyncEvent(...args: any[]): Promise<void>;
/**
* 发布事件 根据事件ID
* @param eventID 事件ID 自动识别参数类型为TEventID类型,比如 'SignSendEmail' as TEventID
* @param args 事件参数 自动识别参数类型为any[]类型
*/
publishEventByID(eventID: TEventID, ...args: any[]): void;
/**
* 发布异步事件 根据事件ID
* @param eventID 事件ID 自动识别参数类型为TEventID类型,比如 'SignSendEmail' as TEventID
* @param args 事件参数 自动识别参数类型为any[]类型
*/
publishAsyncEventByID(eventID: TEventID, ...args: any[]): Promise<void>;
}