有没有办法在nestjs中动态订阅websocket服务器中的事件

V C*_*V C 7 nestjs

我想看看是否有一种方法可以动态使用 @SubscribeMessage() 装饰器。

到目前为止,我已经能够像Method(a)中那样监听“已知事件” 。但我想在控制器中动态生成事件名称<方法(b) >并开始在网关中监听它。

或者,我想监听该套接字上发出的所有事件并按照方法 2中的方式处理它们

方法(一):

 @SubscribeMessage('event1')
  handleMessage(args[]){
  // DO STUFF
  } 
Run Code Online (Sandbox Code Playgroud)

方法(二):

  @SubscribeMessage(MY_DYNAMIC_EVENT_AT_RUNTIME)
  async handleMessage(client: Socket, payload: string){
    //DO STUFF
 }
Run Code Online (Sandbox Code Playgroud)

方法二:

@SubscribeMessage(*)
  async handleMessage(client: Socket, payload: string){
    //DO STUFF
  }
Run Code Online (Sandbox Code Playgroud)

我看到了 socket.io 的一些通配符概念,我如何在 NestJs 中使用它?

小智 0

您可以尝试使用房间和命名空间