• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 取消动态订阅公共事件
2
3<!--Kit: Basic Services Kit-->
4<!--Subsystem: Notification-->
5<!--Owner: @peixu-->
6<!--Designer: @dongqingran; @wulong158-->
7<!--Tester: @wanghong1997-->
8<!--Adviser: @huipeizi-->
9
10## 场景介绍
11
12动态订阅者完成业务需求后,应主动取消订阅。通过调用[unsubscribe()](../../reference/apis-basic-services-kit/js-apis-commonEventManager.md#commoneventmanagerunsubscribe)方法,取消订阅事件。
13
14
15## 接口说明
16
17| 接口名 | 接口描述 |
18| -------- | -------- |
19| [unsubscribe](../../reference/apis-basic-services-kit/js-apis-commonEventManager.md#commoneventmanagerunsubscribe)(subscriber:&nbsp;CommonEventSubscriber,&nbsp;callback?:&nbsp;AsyncCallback<void\>) | 取消订阅公共事件。 |
20
21
22## 开发步骤
23
241. 导入模块。
25
26   ```ts
27   import { BusinessError, commonEventManager } from '@kit.BasicServicesKit';
28   import { hilog } from '@kit.PerformanceAnalysisKit';
29
30   const TAG: string = 'ProcessModel';
31   const DOMAIN_NUMBER: number = 0xFF00;
32   ```
33
342. 根据[动态订阅公共事件](common-event-subscription.md)章节的步骤来订阅某个事件。
35
363. 调用CommonEvent中的[unsubscribe()](../../reference/apis-basic-services-kit/js-apis-commonEventManager.md#commoneventmanagerunsubscribe)方法取消订阅某事件。
37
38   ```ts
39   // subscriber为订阅事件时创建的订阅者对象
40   if (subscriber !== null) {
41     commonEventManager.unsubscribe(subscriber, (err: BusinessError) => {
42       if (err) {
43         hilog.error(DOMAIN_NUMBER, TAG, `Failed to unsubscribe. code is ${err.code}, message is ${err.message}`);
44       } else {
45         hilog.info(DOMAIN_NUMBER, TAG, `Succeeded in unsubscribing.`);
46         subscriber = null;
47       }
48     })
49   }
50   ```
51