MiraiForum

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

    请问事件通道怎么关闭?

    开发交流
    1
    1
    61
    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.
    • X
      xielve last edited by

      Listener<FriendMessageEvent> subscribe;
      
      @Override
      public void start() {
          subscribe = GlobalEventChannel.INSTANCE.subscribe(FriendMessageEvent.class, event -> {
              MessageChain message = event.getMessage();
              message.forEach(m -> {
                  if (m instanceof MessageContent) {
                      String str = m.contentToString();
                      event.getSubject().sendMessage(str);
                  }
              });
              return ListeningStatus.LISTENING;
          });
      }
      
      @Override
      public void stop() {
          System.out.println("结果==》" + subscribe.complete());
      }
      

      %(#55d929)[如果 handler 返回 ListeningStatus.STOPPED 监听器将被停止.
      也可以通过 subscribe 返回值 Listener 的 Listener.complete]

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