【问题标题】:Get event name in Nestjs and EventEmitter2 handler在 Nestjs 和 EventEmitter2 处理程序中获取事件名称
【发布时间】:2022-01-18 00:11:13
【问题描述】:

我有以下代码:

  @OnEvent("**")
  public handleEverything(parentId: number): void {
    // @ts-expect-error this.envent
    console.log(this.event)
  }

我尝试使用this.event 获取事件名称,但它返回undefined。有没有办法使用 Nestjs 和 EventEmitter 在处理程序中获取事件名称?

【问题讨论】:

    标签: nestjs eventemitter


    【解决方案1】:

    我认为这是不可能的。您可以在调度事件时向有效负载添加一个参数并在处理程序中使用它:

    调度:

    this.eventEmitter.emit('eventName', { type: 'eventType', others: 'others' });
    

    聆听:

    @OnEvent("**")
    public handleEverything(payload: any): void {
      if (payload.type === 'eventType') {
        // do something
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-09
      • 2022-11-19
      • 1970-01-01
      • 1970-01-01
      • 2021-10-19
      • 1970-01-01
      • 1970-01-01
      • 2017-07-14
      相关资源
      最近更新 更多