繁体   English   中英

如何将 function 从另一个 class 调用到另一个 function

[英]How to call a function from another class into another function

我正在尝试在我的应用程序中实现i18n模块。 为此,我正在制作一个翻译字符串的实用程序。 看起来像:

import { I18nService } from "nestjs-i18n";

export class UtilsService {  
    constructor(private readonly i18n: I18nService){}
    translateKey(msgKey){ 
        let message = this.i18n.translate(msgKey, {
            lang: 'en'
        })
        return message
    }
}

但是现在当我试图在其他地方使用这个 function 时,我得到了一个错误。 我究竟做错了什么??

我试图在这样的 ResponseError 中调用它:


export class ResponseError implements ResponseFormatter {
  constructor(infoMessage: string, data?: any, errCode?: number) {
    this.success = false;
    this.message = infoMessage;
    this.data = data;
    this.errCode = errCode;
    console.log(UtilsService.translateKey(infoMessage))
    Logger.warn(
      `${new Date().toString() 
        } - [Response]: ${ 
        infoMessage 
        }${data ? ` - ${  JSON.stringify(data)}` : ''}`,
    );
  }

  message: string;

  data: any[];

  errorMessage: any;

  error: any;

  success: boolean;

  errCode: number;
}

您可以从UtilsService singleton导出 object 代替:

import { I18nService } from "nestjs-i18n";

class I18NTranslator {
    private i18n!: I18nService;  
    constructor(){
      i18n = new I18nService();
    }
    translateKey(msgKey){ 
        let message = this.i18n.translate(msgKey, {
            lang: 'en'
        })
        return message
    }
}

export const UtilsService = new I18NTranslator();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM