MiraiForum

    • Register
    • Login
    • Search
    • Popular
    • Recent
    • Unsolved
    • Tags
    • Groups
    • 友情链接

    Solved Mirai怎么在通道中关闭当前监听通道?

    开发交流
    2
    3
    150
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Enron233
      Enron233 last edited by

      监听群消息,如果有人发了关闭,则直接关闭这个GlobalEventChannel,那if肯定得在GlobalEventChannel中写吧,但是怎么在GlobalEventChannel中关闭监听呢|

      1 Reply Last reply Reply Quote 0
      • Enron233
        Enron233 last edited by

        是在 整个GlobalEventChannel 里面 return ListeningStatus.STOPPED;就可以吗?

        1 Reply Last reply Reply Quote 0
        • Enron233
          Enron233 last edited by

          是在 整个GlobalEventChannel 里面 return ListeningStatus.STOPPED;就可以吗?

          1 Reply Last reply Reply Quote 0
          • Him188
            Him188 last edited by

            一个方法是增加一个 Job:

            val job = SupervisorJob()
            val eventChannel = GlobalEventChannel.parentContext(job)
            
            eventChannel.subscribe...
            
            job.cancel() // 取消全部监听
            

            另一个方法就是你说的在监听器里 return STOPPED。但这个方法可能比上面那个方法麻烦一些。

            1 Reply Last reply Reply Quote 0
            • 1 / 1
            • First post
              Last post
            Powered by Mamoe Technologies & NodeBB | 友情链接 | 服务监控 | Contact