HarmonyOS 能否在自定义类中监听到页面的销毁

能否在自定义类中监听到页面的销毁?自己编写了一个类,想要做到在自己的类中监测页面销毁时,执行自己的delete方法。不想要在页面层去调用方法。

export class GlobalRequest {
  listenList: number[] = []
  registerObserver:Array<RegisterObserver> = []
  static globalRequest:GlobalRequest
  static createGlobalRequest() {
    if(GlobalRequest.globalRequest)
    {
      console.log('我已经创建过了')
      return GlobalRequest.globalRequest
    }else{
      let globalRequest = new GlobalRequest()
      GlobalRequest.globalRequest = globalRequest
      return globalRequest
    }
  }
  register(event:number) {
    if(this.listenList.findIndex(item => item === event) < 0) {
      this.listenList.push(event)
      libovitalMap.Client.omCmdCallback(event,0, (response:OmCmdCallbackCalss) => {
        this.handler(response,event)
      })
    }
  }
  on(event:number, callback:Function) {
    let id  = generateUUID()
    const observer:RegisterObserver = { event, id, callback }
    this.registerObserver.push(observer)
    this.register(event)
  }
  delete(event:number, callback?:Function){
    const eventArray = this.registerObserver.filter(item => item.event === event)
    if(eventArray.length < 0) {
      return
    }
    if(!callback){
      eventArray.forEach(item => {
        const id = item.id
        this.registerObserver  = this.registerObserver.filter(observer => observer.id !== id)
      })
      return
    }
    const index = eventArray.findIndex(item => item.callback === callback)
    if(index < 0){
      return
    }
    const id = eventArray[index].id
    this.registerObserver  = this.registerObserver.filter(item => item.id !== id)
  }
  handler(response:OmCmdCallbackCalss,event:number) {
    const triggerObserver = this.registerObserver.filter(item => item.event === event)
    for(let i = 0; i < triggerObserver.length; i++){
      if(triggerObserver[i].callback(response)){
        break;
      }
    }
  }
}
HarmonyOS
2024-12-26 14:32:52
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zbw_apple
分享
微博
QQ
微信
回复
2024-12-26 17:11:52
相关问题
getContext(this)能否自定义中使用
2676浏览 • 1回复 待解决
HarmonyOS能否监听到设备翻转
687浏览 • 1回复 待解决
HarmonyOS ArkTS想调用自定义弹窗
268浏览 • 1回复 待解决
加载页面的时候如何自定义header
1172浏览 • 1回复 待解决
HarmonyOS 如何主动销毁自定义组件
486浏览 • 1回复 待解决
HarmonyOS能否全局监听页面的生命周期
1027浏览 • 1回复 待解决
自定义组件里使用watch监听
780浏览 • 1回复 待解决
c++实例化自定义并调用方法
635浏览 • 1回复 待解决
自定义组件什么时候销毁
2094浏览 • 1回复 待解决
HarmonyOS 能否默认使用自定义字体
163浏览 • 1回复 待解决