• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.events.emitter (Emitter)
2
3本模块提供了在同一进程不同线程间或同一线程内发送和处理事件的能力,支持持续订阅事件、单次订阅事件、取消订阅事件及发送事件到事件队列。
4
5> **说明:**
6>
7> 本模块首批接口从API version 7开始支持。后续版本新增接口,采用上角标单独标记接口的起始版本。
8
9## 导入模块
10
11```ts
12import { emitter } from '@kit.BasicServicesKit';
13```
14
15## 权限列表
16
17无权限要求。
18
19## emitter.on
20
21on(event: InnerEvent, callback: Callback\<EventData\>): void
22
23持续订阅指定的事件,并在接收到该事件时,执行对应的回调处理函数。
24
25**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
26
27**系统能力**: `SystemCapability.Notification.Emitter`
28
29**参数:**
30
31| 参数名   | 类型                                | 必填 | 说明                                                         |
32| -------- | ----------------------------------- | ---- | ------------------------------------------------------------ |
33| event    | [InnerEvent](#innerevent)           | 是   | 持续订阅的事件,其中[EventPriority](#eventpriority),在订阅事件时无需指定,也不生效。 |
34| callback | Callback\<[EventData](#eventdata)\> | 是   | 接收到该事件时需要执行的回调处理函数。                       |
35
36**示例:**
37
38```ts
39import { Callback } from '@kit.BasicServicesKit';
40
41let innerEvent: emitter.InnerEvent = {
42  eventId: 1
43};
44
45let callback: Callback<emitter.EventData> = (eventData: emitter.EventData) => {
46  console.info(`eventData: ${JSON.stringify(eventData)}`);
47}
48
49// 收到eventId为1的事件后执行回调函数
50emitter.on(innerEvent, callback);
51```
52
53## emitter.on<sup>11+</sup>
54
55on(eventId: string, callback:  Callback\<EventData\>): void
56
57持续订阅指定的事件,并在接收到该事件时,执行对应的回调处理函数。
58
59**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
60
61**系统能力**: `SystemCapability.Notification.Emitter`
62
63**参数:**
64
65| 参数名   | 类型                                | 必填 | 说明                                   |
66| -------- | ----------------------------------- | ---- | -------------------------------------- |
67| eventId    | string                              | 是   | 持续订阅的事件。取值为长度不超过10240字节的自定义字符串,且不可为空字符。                       |
68| callback | Callback\<[EventData](#eventdata)\> | 是   | 接收到该事件时需要执行的回调处理函数。 |
69
70**示例:**
71
72```ts
73import { Callback } from '@kit.BasicServicesKit';
74
75let callback: Callback<emitter.EventData> = (eventData: emitter.EventData) => {
76  console.info(`eventData: ${JSON.stringify(eventData)}`);
77}
78// 收到eventId为"eventId"的事件后执行回调函数
79emitter.on(`eventId`, callback);
80```
81
82## emitter.on<sup>12+</sup>
83
84on<T\>(eventId: string, callback:  Callback\<GenericEventData<T\>\>): void
85
86持续订阅指定的事件,并在接收到该事件时,执行对应的回调处理函数。
87
88**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
89
90**系统能力**: `SystemCapability.Notification.Emitter`
91
92**参数:**
93
94| 参数名   | 类型                                | 必填 | 说明                                   |
95| -------- | ----------------------------------- | ---- | -------------------------------------- |
96| eventId    | string                              | 是   | 持续订阅的事件。取值为长度不超过10240字节的自定义字符串,且不可为空字符。                       |
97| callback | Callback\<[GenericEventData<T\>](#genericeventdatat12)\> | 是   | 接收到该事件时需要执行的回调处理函数。 |
98
99**示例:**
100
101```ts
102import { Callback } from '@kit.BasicServicesKit';
103
104@Sendable
105class Sample {
106  constructor() {
107    this.count = 100;
108  }
109  printCount() {
110    console.info('Print count : ' + this.count);
111  }
112  count: number;
113}
114
115let callback: Callback<emitter.GenericEventData<Sample>> = (eventData: emitter.GenericEventData<Sample>): void => {
116  console.info(`eventData: ${JSON.stringify(eventData?.data)}`);
117  if (eventData?.data instanceof Sample) {
118    eventData?.data?.printCount();
119  }
120}
121// 收到eventId为"eventId"的事件后执行回调函数
122emitter.on("eventId", callback);
123```
124
125## emitter.once
126
127once(event: InnerEvent, callback: Callback\<EventData\>): void
128
129单次订阅指定的事件,在接收到该事件且执行完对应的回调函数后,自动取消订阅。
130
131**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
132
133**系统能力**: `SystemCapability.Notification.Emitter`
134
135**参数:**
136
137| 参数名   | 类型                                | 必填 | 说明                                                         |
138| -------- | ----------------------------------- | ---- | ------------------------------------------------------------ |
139| event    | [InnerEvent](#innerevent)           | 是   | 单次订阅的事件,其中[EventPriority](#eventpriority),在订阅事件时无需指定,也不生效。 |
140| callback | Callback\<[EventData](#eventdata)\> | 是   | 接收到该事件时需要执行的回调处理函数。                       |
141
142**示例:**
143
144```ts
145import { Callback } from '@kit.BasicServicesKit';
146
147let innerEvent: emitter.InnerEvent = {
148  eventId: 1
149};
150
151let callback: Callback<emitter.EventData> = (eventData: emitter.EventData) => {
152  console.info(`eventData: ${JSON.stringify(eventData)}`);
153}
154// 收到eventId为1的事件后执行该回调函数
155emitter.once(innerEvent, callback);
156```
157
158## emitter.once<sup>11+</sup>
159
160once(eventId: string, callback: Callback\<EventData\>): void
161
162单次订阅指定的事件,在接收到该事件且执行完对应的回调函数后,自动取消订阅。
163
164**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
165
166**系统能力**: `SystemCapability.Notification.Emitter`
167
168**参数:**
169
170| 参数名   | 类型                                | 必填 | 说明                                   |
171| -------- | ----------------------------------- | ---- | -------------------------------------- |
172| eventId    | string                              | 是   | 单次订阅的事件。取值为长度不超过10240字节的自定义字符串,且不可为空字符。                       |
173| callback | Callback\<[EventData](#eventdata)\> | 是   | 接收到该事件时需要执行的回调处理函数。 |
174
175**示例:**
176
177```ts
178import { Callback } from '@kit.BasicServicesKit';
179
180let callback: Callback<emitter.EventData> = (eventData: emitter.EventData) => {
181  console.info(`eventData: ${JSON.stringify(eventData)}`);
182}
183// 收到eventId为"eventId"的事件后执行该回调函数
184emitter.once("eventId", callback);
185```
186
187## emitter.once<sup>12+</sup>
188
189once<T\>(eventId: string, callback: Callback\<GenericEventData<T\>\>): void
190
191单次订阅指定的事件,在接收到该事件且执行完相应的回调函数后,自动取消订阅。
192
193**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
194
195**系统能力**: `SystemCapability.Notification.Emitter`
196
197**参数:**
198
199| 参数名   | 类型                                | 必填 | 说明                                   |
200| -------- | ----------------------------------- | ---- | -------------------------------------- |
201| eventId    | string                              | 是   | 单次订阅的事件。取值为长度不超过10240字节的自定义字符串,且不可为空字符。                       |
202| callback | Callback\<[GenericEventData<T\>](#genericeventdatat12)\> | 是   | 接收到该事件时需要执行的回调处理函数。 |
203
204**示例:**
205
206```ts
207import { Callback } from '@kit.BasicServicesKit';
208
209@Sendable
210class Sample {
211  constructor() {
212    this.count = 100;
213  }
214  printCount() {
215    console.info('Print count : ' + this.count);
216  }
217  count: number;
218}
219
220let callback: Callback<emitter.GenericEventData<Sample>> = (eventData: emitter.GenericEventData<Sample>): void => {
221  console.info(`eventData: ${JSON.stringify(eventData?.data)}`);
222  if (eventData?.data instanceof Sample) {
223    eventData?.data?.printCount();
224  }
225}
226// 收到eventId为"eventId"的事件后执行回调函数
227emitter.once("eventId", callback);
228```
229
230## emitter.off
231
232off(eventId: number): void
233
234取消事件ID为eventId的所有订阅。
235
236使用该接口取消某个事件订阅后,已通过[emit](#emitteremit)接口发布但尚未被执行的事件将被取消。
237
238**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
239
240**系统能力**: `SystemCapability.Notification.Emitter`
241
242**参数:**
243
244| 参数名  | 类型   | 必填 | 说明     |
245| ------- | ------ | ---- | -------- |
246| eventId | number | 是   | 事件ID。 |
247
248**示例:**
249
250```ts
251// 取消eventID为1的所有事件回调处理函数
252emitter.off(1);
253```
254
255## emitter.off<sup>11+</sup>
256
257off(eventId: string): void
258
259取消事件ID为eventId的所有订阅。
260
261使用该接口取消某个事件订阅后,已通过[emit](#emitteremit11)接口发布但尚未被执行的事件将被取消。
262
263**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
264
265**系统能力**: `SystemCapability.Notification.Emitter`
266
267**参数:**
268
269| 参数名  | 类型   | 必填 | 说明     |
270| ------- | ------ | ---- | -------- |
271| eventId | string | 是   | 事件ID。取值为长度不超过10240字节的自定义字符串,且不可为空字符。 |
272
273**示例:**
274
275```ts
276// 取消eventID为"eventId"的所有事件回调处理函数
277emitter.off("eventId");
278```
279
280## emitter.off<sup>10+</sup>
281
282off(eventId: number, callback: Callback\<EventData\>): void
283
284取消事件ID为eventId且回调处理函数为callback的订阅。仅当已使用[on](#emitteron)或[once](#emitteronce)接口订阅callback时,该接口才生效。
285
286使用该接口取消某个事件订阅后,已通过[emit](#emitteremit)接口发布但尚未被执行的事件将被取消。
287
288**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
289
290**系统能力**: `SystemCapability.Notification.Emitter`
291
292**参数:**
293
294| 参数名  | 类型   | 必填 | 说明   |
295| ------- | ------ | ---- | ------ |
296| eventId | number | 是   | 事件ID。 |
297| callback | Callback\<[EventData](#eventdata)\> | 是   | 事件的回调处理函数。   |
298
299**示例:**
300
301```ts
302import { Callback } from '@kit.BasicServicesKit';
303
304let callback: Callback<emitter.EventData> = (eventData: emitter.EventData) => {
305  console.info(`eventData: ${JSON.stringify(eventData)}`);
306}
307// 取消eventID为1的事件回调处理函数,callback对象应使用订阅时的对象
308// 如果该回调处理函数没有被订阅,则不做任何处理
309emitter.off(1, callback);
310```
311
312## emitter.off<sup>11+</sup>
313
314off(eventId: string, callback: Callback\<EventData\>): void
315
316取消事件ID为eventId且回调处理函数为callback的订阅。仅当已使用[on](#emitteron11)或[once](#emitteronce11)接口订阅callback时,该接口才生效。
317
318使用该接口取消某个事件订阅后,已通过[emit](#emitteremit11)接口发布但尚未被执行的事件将被取消。
319
320**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
321
322**系统能力**: `SystemCapability.Notification.Emitter`
323
324**参数:**
325
326| 参数名   | 类型                                | 必填 | 说明                       |
327| -------- | ----------------------------------- | ---- | -------------------------- |
328| eventId  | string                              | 是   | 事件ID。取值为长度不超过10240字节的自定义字符串,且不可为空字符。                   |
329| callback | Callback\<[EventData](#eventdata)\> | 是   | 事件的回调处理函数。 |
330
331**示例:**
332
333```ts
334import { Callback } from '@kit.BasicServicesKit';
335
336let callback: Callback<emitter.EventData> = (eventData: emitter.EventData) => {
337  console.info(`eventData: ${JSON.stringify(eventData)}`);
338}
339// 取消eventID为"eventId"的事件回调处理函数,callback对象应使用订阅时的对象
340// 如果该回调处理函数没有被订阅,则不做任何处理
341emitter.off("eventId", callback);
342```
343
344## emitter.off<sup>12+</sup>
345
346off<T\>(eventId: string, callback: Callback\<GenericEventData<T\>\>): void
347
348取消事件ID为eventId且回调处理函数为callback的订阅。仅当已使用[on](#emitteron12)或[once](#emitteronce12)接口订阅callback时,该接口才生效。
349
350使用该接口取消某个事件订阅后,已通过[emit](#emitteremit12)接口发布但尚未被执行的事件将被取消。
351
352**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
353
354**系统能力**: `SystemCapability.Notification.Emitter`
355
356**参数:**
357
358| 参数名   | 类型                                | 必填 | 说明                       |
359| -------- | ----------------------------------- | ---- | -------------------------- |
360| eventId  | string                              | 是   | 事件ID。取值为长度不超过10240字节的自定义字符串,且不可为空字符。                   |
361| callback | Callback\<[GenericEventData<T\>](#genericeventdatat12)\> | 是   | 事件的回调处理函数。 |
362
363**示例:**
364
365```ts
366import { Callback } from '@kit.BasicServicesKit';
367
368@Sendable
369class Sample {
370  constructor() {
371    this.count = 100;
372  }
373  printCount() {
374    console.info('Print count : ' + this.count);
375  }
376  count: number;
377}
378
379let callback: Callback<emitter.GenericEventData<Sample>> = (eventData: emitter.GenericEventData<Sample>): void => {
380  console.info(`eventData: ${JSON.stringify(eventData?.data)}`);
381  if (eventData?.data instanceof Sample) {
382    eventData?.data?.printCount();
383  }
384}
385// 取消eventID为"eventId"的事件回调处理函数,callback对象应使用订阅时的对象
386// 如果该回调处理函数没有被订阅,则不做任何处理
387emitter.off("eventId", callback);
388```
389
390## emitter.emit
391
392emit(event: InnerEvent, data?: EventData): void
393
394发送指定事件。
395
396该接口支持跨线程传输数据对象,需要遵循数据跨线程传输的规格约束,详见[线程间通信对象](../../arkts-utils/serializable-overview.md)。目前不支持使用[@State装饰器](../../ui/state-management/arkts-state.md)、[@Observed装饰器](../../ui/state-management/arkts-observed-and-objectlink.md)等装饰器修饰的复杂类型数据。
397
398**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
399
400**系统能力**: `SystemCapability.Notification.Emitter`
401
402**参数:**
403
404| 参数名 | 类型                      | 必填 | 说明           |
405| ------ | ------------------------- | ---- | ------------- |
406| event  | [InnerEvent](#innerevent) | 是   | 发送的事件,其中[EventPriority](#eventpriority)用于指定事件被发送的优先级。 |
407| data   | [EventData](#eventdata)   | 否   | 事件携带的数据。 |
408
409**示例:**
410
411```ts
412let eventData: emitter.EventData = {
413  data: {
414    "content": "content",
415    "id": 1,
416  }
417};
418
419let innerEvent: emitter.InnerEvent = {
420  eventId: 1,
421  priority: emitter.EventPriority.HIGH
422};
423
424emitter.emit(innerEvent, eventData);
425```
426
427## emitter.emit<sup>11+</sup>
428
429emit(eventId: string, data?: EventData): void
430
431发送指定事件。
432
433该接口支持跨线程传输数据对象,需要遵循数据跨线程传输的规格约束,详见[线程间通信对象](../../arkts-utils/serializable-overview.md)。目前不支持使用[@State装饰器](../../ui/state-management/arkts-state.md)、[@Observed装饰器](../../ui/state-management/arkts-observed-and-objectlink.md)等装饰器修饰的复杂类型数据。
434
435**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
436
437**系统能力**: `SystemCapability.Notification.Emitter`
438
439**参数:**
440
441| 参数名  | 类型                    | 必填 | 说明             |
442| ------- | ----------------------- | ---- | ---------------- |
443| eventId | string                  | 是   | 发送的事件ID。取值为长度不超过10240字节的自定义字符串,且不可为空字符。   |
444| data    | [EventData](#eventdata) | 否   | 事件携带的数据。 |
445
446**示例:**
447
448```ts
449let eventData: emitter.EventData = {
450  data: {
451  "content": "content",
452  "id": 1,
453  }
454};
455
456emitter.emit("eventId", eventData);
457```
458
459## emitter.emit<sup>12+</sup>
460
461emit<T\>(eventId: string, data?: GenericEventData<T\>): void
462
463发送指定事件。
464
465该接口支持跨线程传输数据对象,需要遵循数据跨线程传输的规格约束,详见[线程间通信对象](../../arkts-utils/serializable-overview.md)。目前不支持使用[@State装饰器](../../ui/state-management/arkts-state.md)、[@Observed装饰器](../../ui/state-management/arkts-observed-and-objectlink.md)等装饰器修饰的复杂类型数据。
466
467**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
468
469**系统能力**: `SystemCapability.Notification.Emitter`
470
471**参数:**
472
473| 参数名  | 类型                    | 必填 | 说明             |
474| ------- | ----------------------- | ---- | ---------------- |
475| eventId | string                  | 是   | 发送的事件ID。取值为长度不超过10240字节的自定义字符串,且不可为空字符。   |
476| data    | [GenericEventData<T\>](#genericeventdatat12) | 否   | 事件携带的数据。 |
477
478**示例:**
479
480```ts
481@Sendable
482class Sample {
483  constructor() {
484    this.count = 100;
485  }
486  printCount() {
487    console.info('Print count : ' + this.count);
488  }
489  count: number;
490}
491
492let eventData: emitter.GenericEventData<Sample> = {
493  data: new Sample()
494};
495emitter.emit("eventId", eventData);
496```
497
498## emitter.emit<sup>11+</sup>
499
500emit(eventId: string, options: Options, data?: EventData): void
501
502发送指定优先级事件。
503
504该接口支持跨线程传输数据对象,需要遵循数据跨线程传输的规格约束,详见[线程间通信对象](../../arkts-utils/serializable-overview.md)。目前不支持使用[@State装饰器](../../ui/state-management/arkts-state.md)、[@Observed装饰器](../../ui/state-management/arkts-observed-and-objectlink.md)等装饰器修饰的复杂类型数据。
505
506**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
507
508**系统能力**: `SystemCapability.Notification.Emitter`
509
510**参数:**
511
512| 参数名  | 类型                    | 必填 | 说明             |
513| ------- | ----------------------- | ---- | ---------------- |
514| eventId | string                  | 是   | 发送的事件ID。取值为长度不超过10240字节的自定义字符串,且不可为空字符。   |
515| options | [Options](#options11)   | 是   | 事件优先级。     |
516| data    | [EventData](#eventdata) | 否   | 事件携带的数据。 |
517
518**示例:**
519
520```ts
521let eventData: emitter.EventData = {
522  data: {
523    "content": "content",
524    "id": 1,
525  }
526};
527
528let options: emitter.Options = {
529  priority: emitter.EventPriority.HIGH
530};
531
532emitter.emit("eventId", options, eventData);
533```
534
535## emitter.emit<sup>12+</sup>
536
537emit<T\>(eventId: string, options: Options, data?: GenericEventData<T\>): void
538
539发送指定优先级事件。
540
541该接口支持跨线程传输数据对象,需要遵循数据跨线程传输的规格约束,详见[线程间通信对象](../../arkts-utils/serializable-overview.md)。目前不支持使用[@State装饰器](../../ui/state-management/arkts-state.md)、[@Observed装饰器](../../ui/state-management/arkts-observed-and-objectlink.md)等装饰器修饰的复杂类型数据。
542
543**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
544
545**系统能力**: `SystemCapability.Notification.Emitter`
546
547**参数:**
548
549| 参数名  | 类型                    | 必填 | 说明             |
550| ------- | ----------------------- | ---- | ---------------- |
551| eventId | string                  | 是   | 发送的事件ID。取值为长度不超过10240字节的自定义字符串,且不可为空字符。   |
552| options | [Options](#options11)   | 是   | 事件优先级。     |
553| data    | [GenericEventData<T\>](#genericeventdatat12) | 否   | 事件携带的数据。 |
554
555**示例:**
556
557```ts
558@Sendable
559class Sample {
560  constructor() {
561    this.count = 100;
562  }
563  printCount() {
564    console.info('Print count : ' + this.count);
565  }
566  count: number;
567}
568
569let options: emitter.Options = {
570  priority: emitter.EventPriority.HIGH
571};
572let eventData: emitter.GenericEventData<Sample> = {
573  data: new Sample()
574};
575
576emitter.emit("eventId", options, eventData);
577```
578
579## emitter.getListenerCount<sup>11+</sup>
580
581getListenerCount(eventId: number | string): number
582
583获取指定事件的订阅数。
584
585**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
586
587**系统能力**: `SystemCapability.Notification.Emitter`
588
589**参数:**
590
591| 参数名  | 类型           | 必填 | 说明     |
592| ------- | -------------- | ---- | -------- |
593| eventId | number \| string | 是   | 事件ID,string类型的eventId取值为长度不超过10240字节的自定义字符串,且不可为空字符。 |
594
595**返回值:**
596
597| 类型     | 说明         |
598| ------- |------------|
599| number | 指定事件的订阅数。 |
600
601
602**示例:**
603
604```ts
605let count = emitter.getListenerCount("eventId");
606```
607
608## EventPriority
609
610表示事件的优先级。
611
612**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
613
614**系统能力**:  `SystemCapability.Notification.Emitter`
615
616| 名称      | 值    | 说明                                                |
617| --------- | ---- | --------------------------------------------------- |
618| IMMEDIATE | 0    | 表示事件被立即投递。                                  |
619| HIGH      | 1    | 表示事件先于LOW优先级投递。                           |
620| LOW       | 2    | 表示事件优于IDLE优先级投递,事件的默认优先级是LOW。     |
621| IDLE      | 3    | 表示在没有其他事件的情况下,才投递该事件。             |
622
623## InnerEvent
624
625订阅或发送的事件,订阅事件时`EventPriority`不生效。
626
627**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
628
629**系统能力**: `SystemCapability.Notification.Emitter`
630
631| 名称     | 类型                        | 只读 | 可选 | 说明                                 |
632| -------- | ------------------------------- | ---- | ---- | ------------------------------ |
633| eventId  | number                          | 否   | 否   | 事件ID,由开发者定义,用于辨别事件。 |
634| priority | [EventPriority](#eventpriority) | 否   | 是   | 事件的优先级,默认值为EventPriority.LOW。             |
635
636## EventData
637
638发送事件时传递的数据。
639
640**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
641
642**系统能力**: `SystemCapability.Notification.Emitter`
643
644| 名称 | 类型           | 只读 | 可选 | 说明           |
645| ---- | ------------------ | ---- | ---- | -------------- |
646| data | { [key: string]: any } | 否   | 是   | 发送事件时传递的数据,支持数据类型包括Array、ArrayBuffer、Boolean、DataView、Date、Error、Map、Number、Object、Primitive(除了symbol)、RegExp、Set、String、TypedArray,数据大小最大为16M。 |
647
648## Options<sup>11+</sup>
649
650发送事件的优先级。
651
652**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
653
654**系统能力**: `SystemCapability.Notification.Emitter`
655
656| 名称     | 类型                            | 只读 | 可选 | 说明           |
657| -------- | ------------------------------- | ---- | ---- | -------------- |
658| priority | [EventPriority](#eventpriority) | 否   | 是   | 事件的优先级,默认值为EventPriority.LOW。 |
659
660## GenericEventData<T\><sup>12+</sup>
661
662发送事件时传递的泛型数据。
663
664**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
665
666**系统能力**: `SystemCapability.Notification.Emitter`
667
668| 名称     | 类型                            | 只读 | 可选 | 说明           |
669| -------- | ------------------------------- | ---- | ---- | -------------- |
670| data | T | 否   | 是   | 发送事件时传递的数据。T:泛型类型。 |