当前位置: 首页 > news >正文

传媒的域名做个什么网站店面设计ppt

传媒的域名做个什么网站,店面设计ppt,wordpress本地卸载插件,网站设计制作新报价在NestJS中有一种场景#xff0c;在注入的时候需要将多个实现了同一个接口的service都注入到系统里#xff0c;而NestJS中默认时没有这种注入#xff0c;此时我们可以使用一个变通的provider来实现这一功能。 看下面例子#xff0c;假定我们有一个OSService接口#xff0…在NestJS中有一种场景在注入的时候需要将多个实现了同一个接口的service都注入到系统里而NestJS中默认时没有这种注入此时我们可以使用一个变通的provider来实现这一功能。 看下面例子假定我们有一个OSService接口其中定义了一个方法返回OSUser数组假定我们有多个实现类比如这里的LinuxOSService和WindowsOSService我们希望将这两个实现类都注入到系统中那么我们可以这样实现 osuser.ts 定义一下基本的OSUser对象和OSUserType枚举。 export interface OSUser {name: string;type: OSUserType; }export enum OSUserType {LINUX LINUX,WINDOWS WINDOS, }osuser.service.ts 定义OSUserService接口和两个实现类LinuxOSUserService和WindowsOSUserService。 import { Injectable } from nestjs/common; import { OSUser, OSUserType } from ./osuser;export interface OSUserService {getUsers(): OSUser[]; }Injectable() export class LinuxOSUserService implements OSUserService {users: OSUser[] [];getUsers(): OSUser[] {this.users [{ name: John, type: OSUserType.LINUX },{ name: Jane, type: OSUserType.LINUX },{ name: Bob, type: OSUserType.LINUX },];return this.users;} }Injectable() export class WindowsOSUserService implements OSUserService {users: OSUser[] [];getUsers(): OSUser[] {this.users [{ name: John, type: OSUserType.WINDOWS },{ name: Jane, type: OSUserType.WINDOWS },{ name: Bob, type: OSUserType.WINDOWS },];return this.users;} }osuser.controller.ts 控制器注入了OSUserServices这是一个数组包含了所有的OSUserService实现类然后在list方法中遍历这个数组获取所有的OSUser对象最后返回。 import { Controller, Get, Param, Inject } from nestjs/common; import { OSUserService } from ./osuser.service; import { OSUser, OSUserType } from ./osuser;Controller(osuser) export class OSUserController {constructor(Inject(OSUserServices) private osUserServices: OSUserService[],) {}Get()list() {const osUsers: OSUser[] [];this.osUserServices.map((osUserService) {osUserService.getUsers().map((osUser) osUsers.push(osUser));});return osUsers;} }osuser.module.ts 模块的providers中定义了两个OSUserService的实现类并且定义了一个新的provider这个provider的名字是’OSUserServices’它的值是一个工厂函数这个工厂函数接收两个参数分别是LinuxOSUserService和WindowsOSUserService然后返回一个数组这个数组包含了所有的OSUserService实现类。 import { Module } from nestjs/common; import { OSUserController } from ./osuser.controller; import {OSUserService,LinuxOSUserService,WindowsOSUserService, } from ./osuser.service;Module({imports: [],controllers: [OSUserController],providers: [LinuxOSUserService,WindowsOSUserService,{provide: OSUserServices,useFactory: (linuxOSUserService, windowsOSUserService) [linuxOSUserService,windowsOSUserService,],inject: [LinuxOSUserService, WindowsOSUserService],},], }) export class OSUserModule {}总结 通过以上步骤我们实现了在NestJS中注入多个实现了同一个接口的service的功能这种变通的方法可以解决一些特殊场景下的注入问题。
http://www.sczhlp.com/news/203386/

相关文章:

  • 网站建设的要素响应式做的好的网站
  • seo网站营销推广全程实例 pdf外贸网站搭建公司
  • 沈阳市住房和城乡建设局网站首页怎么做网站的内链外链
  • 做一个公司的网站应做哪些准备建筑工程承包网沈阳
  • 住房与城乡建设局网站网络设计是干什么的工作
  • 外国网站在内地做seo响应式网站手机端
  • 基于php网站建设设计请收网址999938
  • 什么是网站建设的重点vs2015做网站如何添加控件
  • 泰安集团网站建设费用天津做不锈钢的网站
  • 宝山做网站公司企业网站会员功能
  • 简述创建一个网站的过程广东省建设安全卡查询网站
  • 做网站编辑好还是新媒体编辑网页制作教程和素材
  • 建设官方网站请示网站设计实例教程
  • 山东济南seo整站优化自媒体运营从入门到精通
  • 建站快车加盟深圳网站建设公司那家好
  • 会昌网站网络推广员每天的工作是什么
  • 公司网站建设的通知wp风格网站
  • 网站开发提案模板织梦网络公司网站源码
  • 做ppt图表的网站加强服务保障 满足群众急需需求
  • 忘记网站后台地址苏州网络推广公司永阳
  • 2025 电动缸源头厂家最新推荐榜:剖析国产厂商成本优势与技术实力,附权威选购指南
  • 网络编程实践笔记_4_阿贝云_免费云服务器_简易博客_
  • 10 17
  • 网站黑链检测定制西装需要多少钱
  • 做通信毕业设计的网站网站如何做延迟加载
  • 网站策划pswordpress首页添加价格
  • 搭建论坛网站多长时间自己做网站的二维码
  • 深圳三站合一网站建设黄页是干什么用的
  • 高端网站登录入口wordpress is page
  • 深圳全胜专业网站建设医药公司网站建设备案