无法在 NestJs 中捕获事件

Unable to catch event in NestJs

我正在对 NestJs 事件进行一些测试。 这是代码(非常基本)

import { Body, Controller, Post } from '@nestjs/common';
import { OnEvent, EventEmitter2 } from '@nestjs/event-emitter';

@Controller('messages')
export class MessagesController {
  constructor(private eventEmitter: EventEmitter2) {}

  @Post()
  async postMessage(@Body() message: any) {
    this.eventEmitter.emit('custom.event', { data: message });
  }

  @OnEvent('custom.event', { async: true })
  handleEvent(payload: any) {
    console.log(payload);
  }
}

我像那样在 AppModule 中导入了模块

EventEmitterModule.forRoot({
      wildcard: true,
      delimiter: '.',
    }),

当我执行 POST 请求时,侦听器未捕获事件。我错过了什么?

查看 source code 似乎 Controllers 在连接订阅者时未被扫描。

Providers 被扫描,这意味着您将需要创建一个专用的可注入服务来装饰您的 @OnEvent 方法