最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

使用新的运算符时可以进行依赖注入吗?

运维笔记admin17浏览0评论

使用新的运算符时可以进行依赖注入吗?

使用新的运算符时可以进行依赖注入吗?

实际上,我想实施某种策略模式。更准确地说,我想在运行时决定要实例化哪个类。

当然,这很简单。

if(...) {
this.service = new ServiceA();
} else {
this.service = new ServiceB();
}

但是,如果ServiceA和ServiceB在其类中使用依赖项注入怎么办?我必须通过那些实例,还是有更好的方法让Nest自动注入它们?

回答如下:

您可以同时注入这两种服务,然后将它们动态分配给您的变量:

service: Service;
constructor(private serviceA: ServiceA, private serviceB: ServiceB) {}

dynamicMethod() {
  if (...) {
    this.service = this.serviceA;
  } else {
    this.service = this.serviceB;
  }
}


如果可以在启动时评估条件(例如环境变量),则可以改用custom provider。
发布评论

评论列表(0)

  1. 暂无评论