带任务调度的 NestJs 依赖注入不起作用

Jan*_*ngo 1 dependency-injection scheduled-tasks nestjs

我正在尝试按照Nest 文档中所述实现任务调度,但没有使用调度的服务的依赖注入示例。我想要的是在重复任务中使用注入的服务,但是当我执行以下操作时:

@Injectable()
export class MyWorkerService {

    constructor(private readonly injectedService: MyInjectedService) {}

    @Timeout(5000)
    async doSomething():  { 
     console.log(this.injectedService); // undefined
     this.injectedService.doStuff(); // TypeError: cannot read property 'doStuff' of undefined
    }
}
Run Code Online (Sandbox Code Playgroud)

...依赖注入不起作用。两个服务都在同一模块中注册为提供者。

为什么会出现这种情况呢?我还能如何通过预定方法访问其他服务?

Jan*_*ngo 5

2小时后我在这里回答我自己的问题:)

因此,基本上,我注入到预定服务中的服务之一具有REQUEST范围:

@Injectable({ scope: Scope.REQUEST })

从注入的服务构造函数中删除它后,依赖注入开始按预期工作。

  • 有没有办法让它在 REQUEST 范围内工作?我的服务中需要它 (4认同)