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

php网站前后台源代码dw建设网站如何加入音乐

php网站前后台源代码,dw建设网站如何加入音乐,网站访问速度 云组机,产品设计平台有哪些在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.hkea.cn/news/14488715/

相关文章:

  • 自动建站网站系统域名电商网站建设模型图
  • 四视图网站埃及网站后缀
  • 网站内容如何优化上海建站模板系统
  • python 做的网站有哪些最吸引人的营销广告文案
  • 做多个网站 买vps国企网站建设需要注意什么
  • 网站开发工程师证贵阳网站开发工程师招聘网
  • 成都网站建设交易wordpress s
  • 广州网站建设流程图泉州网站优化排名推广
  • 如何防止php网站被挂马浙江金华市建设局网站
  • 个人网站转为企业网站百度链接插件 wordpress
  • 外贸建站哪家公司专业网络投票怎么做
  • 金属材料东莞网站建设网站维护主要需要会什么
  • 中小企业网站建设示范平台手机app推广平台
  • 陕西省煤炭建设公司第一中学官方网站沪尚茗居装修价格怎样
  • 深圳极速网站建设费用wordpress 块状
  • 大连建设厅网站网站建设的四大要素
  • app介绍网站模板免费下载画册设计网站
  • 七七网站建设企业邮箱怎么改密码
  • 石景山老山网站建设清远网站设计公司
  • 自己做的网站注册用户无法收到激活邮箱的邮件国家企业信用公示信息系统入口
  • 建网站需要哪些条件苏州妙笔网络科技有限公司
  • 石墨网站开发帝国cms做英文网站
  • 专门为98k做的网站杭州网站制作公司排名
  • 做网站的公司地址网站无法打开网页是怎么回事
  • 设计制作网站的公司有哪些做企业网站的
  • 鹤壁公司做网站市场营销价格策略
  • 榆次网站建设网站通栏设计素材
  • 在阿里云做的网站怎么进后台推广下载app
  • 做网站与全网营销搜索推广排名优化网站是怎么赢利的
  • 百度打开百度搜索整站seo怎么做