• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 使用Emitter进行线程间通信
2
3
4[Emitter](../reference/apis/js-apis-emitter.md)主要提供线程间发送和处理事件的能力,包括对持续订阅事件或单次订阅事件的处理、取消订阅事件、发送事件到事件队列等。
5
6
7Emitter的开发步骤如下:
8
9
101. 订阅事件
11
12   ```ts
13   import emitter from "@ohos.events.emitter";
14
15   // 定义一个eventId为1的事件
16   let event = {
17     eventId: 1
18   };
19
20   // 收到eventId为1的事件后执行该回调
21   let callback = (eventData) => {
22     console.info('event callback');
23   };
24
25   // 订阅eventId为1的事件
26   emitter.on(event, callback);
27   ```
28
292. 发送事件
30
31   ```ts
32   import emitter from "@ohos.events.emitter";
33
34   // 定义一个eventId为1的事件,事件优先级为Low
35   let event = {
36     eventId: 1,
37     priority: emitter.EventPriority.LOW
38   };
39
40   let eventData = {
41     data: {
42       "content": "c",
43       "id": 1,
44       "isEmpty": false,
45     }
46   };
47
48   // 发送eventId为1的事件,事件内容为eventData
49   emitter.emit(event, eventData);
50   ```
51