取消动态订阅公共事件

场景介绍

动态订阅者完成业务需要时,需要主动取消订阅,订阅者通过调用unsubscribe()方法取消订阅事件。

接口说明

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

开发步骤

  1. 导入模块。

    import commonEventManager from '@ohos.commonEventManager';
    import Base from '@ohos.base';
    
  2. 根据动态订阅公共事件章节的步骤来订阅某个事件。

  3. 调用CommonEvent中的unsubscribe()方法取消订阅某事件。

    // subscriber为订阅事件时创建的订阅者对象
    if (subscriber !== null) {
        commonEventManager.unsubscribe(subscriber, (err: Base.BusinessError) => {
            if (err) {
                console.error(`[CommonEvent] UnsubscribeCallBack err=${JSON.stringify(err)}`);
            } else {
                console.info(`[CommonEvent] Unsubscribe`);
                subscriber = null;
            }
        })
    }