取消动态订阅公共事件
场景介绍
动态订阅者完成业务需要时,需要主动取消订阅,订阅者通过调用unsubscribe()方法取消订阅事件。
接口说明
接口名 | 接口描述 |
---|---|
unsubscribe(subscriber: CommonEventSubscriber, callback?: AsyncCallback) | 取消订阅公共事件 |
开发步骤
-
导入模块。
import Base from '@ohos.base'; import commonEventManager from '@ohos.commonEventManager'; import promptAction from '@ohos.promptAction'; const TAG: string = 'ProcessModel';
-
根据动态订阅公共事件章节的步骤来订阅某个事件。
-
调用CommonEvent中的unsubscribe()方法取消订阅某事件。
// subscriber为订阅事件时创建的订阅者对象 if (this.subscriber !== null) { commonEventManager.unsubscribe(this.subscriber, (err: Base.BusinessError) => { if (err) { console.error(TAG, `UnsubscribeCallBack err = ${JSON.stringify(err)}`); } else { promptAction.showToast({ message: $r('app.string.unsubscribe_success_toast') }); console.info(TAG, `Unsubscribe success`); this.subscriber = null; } }) } else { promptAction.showToast({ message: $r('app.string.unsubscribe_failed_toast') }); }