【问题标题】:What's the NestJS equivalent of Service.new(param) in Ruby on Rails?Ruby on Rails 中与 Service.new(param) 等效的 NestJS 是什么?
【发布时间】:2021-10-06 14:46:13
【问题描述】:

我正在从 RoR 转到 NestJS 并有一个问题

在 RoR 中我们可以像这样声明一个服务对象

class UserService 
  def initialize(user)
    @user = user
  end

  def complex_logic
    # do a complex logic using @user instance variable
  end
end

在 NestJS 中我们也可以声明一个服务(当然也可以正确注入)

export class UserService {
  constructor()

  public complexLogic() {
  
}

如果我想使用用户参数初始化 UserService,我需要在 NestJS 中做什么?我试图在服务的构造函数中声明一个参数,但它不起作用

【问题讨论】:

  • 用户参数?也许您正在寻找控制器。

标签: ruby-on-rails dependency-injection nestjs


【解决方案1】:

要将参数添加到ES6 classes,只需将它们添加到构造函数中:

export class UserService {
  #user;  // defines a private field
  constructor(user) {
    this.#user = user;
  }

  public complexLogic() {
    console.log(this.#user);
  }
}

这确实与语言有关,与 NestJS 关系不大。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-28
    • 2015-06-12
    • 2010-09-14
    相关资源
    最近更新 更多