a73c0570创建于 2025年2月6日历史提交

取消动态订阅公共事件

场景介绍

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

接口说明

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

开发步骤

  1. 导入模块。

    import { BusinessError, commonEventManager } from '@kit.BasicServicesKit';
    import { hilog } from '@kit.PerformanceAnalysisKit';
    
    const TAG: string = 'ProcessModel';
    const DOMAIN_NUMBER: number = 0xFF00;
    
  2. 根据动态订阅公共事件章节的步骤来订阅某个事件。

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

    // subscriber为订阅事件时创建的订阅者对象
    if (subscriber !== null) {
      commonEventManager.unsubscribe(subscriber, (err: BusinessError) => {
        if (err) {
          hilog.error(DOMAIN_NUMBER, TAG, `Failed to unsubscribe. code is ${err.code}, message is ${err.message}`);
        } else {
          hilog.info(DOMAIN_NUMBER, TAG, `Succeeded in unsubscribing.`);
          subscriber = null;
        }
      })
    }