ohos.events.emitter

4 阅读1分钟

模块提供了在同一进程不同线程间,或同一进程同一线程内,发送和处理事件的能力,包括持续订阅事件、单次订阅事件、取消订阅事件,以及发送事件到事件队列的能力。

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