模块提供了在同一进程不同线程间,或同一进程同一线程内,发送和处理事件的能力,包括持续订阅事件、单次订阅事件、取消订阅事件,以及发送事件到事件队列的能力。
import { emitter } from '@kit.BasicServicesKit';
1、emitter.on
on(event: InnerEvent, callback: Callback): void
持续订阅指定的事件,并在接收到该事件时,执行对应的回调处理函数。
let innerEvent: emitter.InnerEvent = {
eventId: 1
};
// 收到eventId为1的事件后执行回调函数
emitter.on(innerEvent, () => {
console.info('callback');
});
2、emitter.once
单次订阅指定事件,并在接收到该事件并执行完相应的回调函数后,自动取消订阅。
3、emitter.off
off(eventId: number): void
取消针对该事件ID的订阅
4、emitter.emit
emit(event: InnerEvent, data?: EventData): void