带有任务调度的 NestJs 依赖注入不起作用
NestJs dependency injection with task scheduling is not working
我正在尝试按照 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 小时后我在这里回答我自己的问题:)
所以基本上我注入到预定服务中的服务之一具有 REQUEST 范围:
@Injectable({ scope: Scope.REQUEST })
从注入的服务构造函数中删除它后,依赖注入开始按预期工作。
我正在尝试按照 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 小时后我在这里回答我自己的问题:)
所以基本上我注入到预定服务中的服务之一具有 REQUEST 范围:
@Injectable({ scope: Scope.REQUEST })
从注入的服务构造函数中删除它后,依赖注入开始按预期工作。