带有任务调度的NestJs依赖项注入不起作用 [英] NestJs dependency injection with task scheduling is not working

查看:32
本文介绍了带有任务调度的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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆