common-event-unsubscription.md 1.1 KB
Newer Older
Z
zengyawen 已提交
1 2 3 4 5
# 公共事件取消订阅


## 场景介绍

6
订阅者完成业务需要时,需要主动取消订阅,订阅者通过调用[unsubscribe()](../reference/apis/js-apis-commonEventManager.md#commoneventmanagerunsubscribe)方法取消订阅事件。
Z
zengyawen 已提交
7 8 9 10 11 12 13 14 15 16 17


## 接口说明

| 接口名 | 接口描述 |
| -------- | -------- |
| unsubscribe(subscriber: CommonEventSubscriber, callback?: AsyncCallback) | 取消订阅公共事件 |


## 开发步骤

18
1. 导入模块。
Z
zengyawen 已提交
19 20
   
   ```ts
21
   import commonEventManager from '@ohos.commonEventManager';
Z
zengyawen 已提交
22 23
   ```

24
2. 根据[公共事件订阅](common-event-subscription.md)章节的步骤来订阅某个事件。
Z
zengyawen 已提交
25

26
3. 调用CommonEvent中的unsubscribe()方法取消订阅某事件。
Z
zengyawen 已提交
27 28 29 30
   
   ```ts
   // subscriber为订阅事件时创建的订阅者对象
   if (subscriber !== null) {
31
       commonEventManager.unsubscribe(subscriber, (err) => {
Z
zengyawen 已提交
32
           if (err) {
33
               console.error(`[CommonEvent] UnsubscribeCallBack err=${JSON.stringify(err)}`);
Z
zengyawen 已提交
34
           } else {
35 36
               console.info(`[CommonEvent] Unsubscribe`);
               subscriber = null;
Z
zengyawen 已提交
37 38 39 40
           }
       })
   }
   ```