mirror of
https://github.com/alibaba/lowcode-engine.git
synced 2025-12-11 02:12:56 +00:00
feat(event): add event.prependListener api
This commit is contained in:
parent
942972c593
commit
f7c1f1e716
@ -25,6 +25,19 @@ on(event: string, listener: (...args: any[]) => void): IPublicTypeDisposable;
|
||||
```
|
||||
相关类型:[IPublicTypeDisposable](https://github.com/alibaba/lowcode-engine/blob/main/packages/types/src/shell/type/disposable.ts)
|
||||
|
||||
### prependListener
|
||||
监听事件,会在其他回调函数之前执行
|
||||
|
||||
```typescript
|
||||
/**
|
||||
* 监听事件,会在其他回调函数之前执行
|
||||
* @param event 事件名称
|
||||
* @param listener 事件回调
|
||||
*/
|
||||
prependListener(event: string, listener: (...args: any[]) => void): IPublicTypeDisposable;
|
||||
```
|
||||
相关类型:[IPublicTypeDisposable](https://github.com/alibaba/lowcode-engine/blob/main/packages/types/src/shell/type/disposable.ts)
|
||||
|
||||
### off
|
||||
取消监听事件
|
||||
|
||||
|
||||
@ -55,6 +55,14 @@ export class EventBus implements IEventBus {
|
||||
};
|
||||
}
|
||||
|
||||
prependListener(event: string, listener: (...args: any[]) => void): () => void {
|
||||
this.eventEmitter.prependListener(event, listener);
|
||||
this.getLogger().debug(`${this.getMsgPrefix('prependListener')} ${event}`);
|
||||
return () => {
|
||||
this.off(event, listener);
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* 取消监听事件
|
||||
* @param event 事件名称
|
||||
|
||||
@ -36,6 +36,20 @@ export class Event implements IPublicApiEvent {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 监听事件,会在其他回调函数之前执行
|
||||
* @param event 事件名称
|
||||
* @param listener 事件回调
|
||||
*/
|
||||
prependListener(event: string, listener: (...args: any[]) => void): IPublicTypeDisposable {
|
||||
if (isPluginEventName(event)) {
|
||||
return this[eventBusSymbol].prependListener(event, listener);
|
||||
} else {
|
||||
logger.warn(`fail to prependListener event ${event}, event should have a prefix like 'somePrefix:eventName'`);
|
||||
return () => {};
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 取消监听事件
|
||||
* @param event 事件名称
|
||||
|
||||
@ -10,6 +10,13 @@ export interface IPublicApiEvent {
|
||||
*/
|
||||
on(event: string, listener: (...args: any[]) => void): IPublicTypeDisposable;
|
||||
|
||||
/**
|
||||
* 监听事件,会在其他回调函数之前执行
|
||||
* add monitor to a event
|
||||
* @param event 事件名称
|
||||
* @param listener 事件回调
|
||||
*/
|
||||
prependListener(event: string, listener: (...args: any[]) => void): IPublicTypeDisposable;
|
||||
|
||||
/**
|
||||
* 取消监听事件
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user