【发布时间】:2021-02-08 05:20:40
【问题描述】:
我之前在 express 应用中使用 inversifyjs 实现了 scinario,我需要使用 nestjs 实现它。
我有实现抽象类(Service Abstract)的服务(A,B,C),它继承自接口(IService)。我需要根据路由中的参数(/:serviceType)从上述服务(A或B或C)中注入一个。我怎样才能在巢中实现这一目标?
【问题讨论】:
-
可能是一个“工厂”提供者,它将基于 arg(路由参数)返回其中一项服务。
-
您的意思是使用自定义提供程序
useFactory?或者你的意思是我创建了一个工厂服务,它根据参数值返回服务实例。我找不到足够的示例来应用useFactory。在 inversify 中,我可以使用 inversify 配置文件中的工厂来完成。 -
这两个选项并不矛盾。它的工作方式取决于您是否需要 A 等作为单例。
标签: node.js dependency-injection inversion-of-control nestjs