带有任务调度的NestJs依赖项注入不起作用 [英] NestJs dependency injection with task scheduling is not working
本文介绍了带有任务调度的NestJs依赖项注入不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试实现Nest documentation中描述的任务调度,但是没有使用调度的服务的依赖项注入示例。我想要的是在重复执行的任务中使用注入的服务,但是当我这样做时:
@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
}
}
.依赖项注入根本不起作用。这两个服务都注册为同一模块中的提供程序。
为什么会发生这种情况?我还可以如何从计划的方法访问我的其他服务?
推荐答案
2小时后我回答自己的问题:)
因此,基本上我注入到服务中的一个服务(注入到我的计划服务中)具有请求作用域:
@Injectable({ scope: Scope.REQUEST })
将其从注入的服务构造函数中删除后,依赖关系注入开始按预期工作。
这篇关于带有任务调度的NestJs依赖项注入不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文