javascript - 如何从两个类似的函数中创建一个通用函数?
问题描述
我有两个相同的功能,但在不同的实体上工作,
async getUserName(userId: number): Promise<string> {
const user = await this.conn.getRepository(User).findOne(userId);
return user .name;
}
async getOrderName(orderId: number): Promise<string> {
const order = await this.conn.getRepository(Order).findOne(orderId);
return order .name;
}
如何在这两个函数的位置创建一个通用函数,它只接受实体和id
数字,并像上述函数中的指南一样返回给定的名称?
附言。我正在使用打字稿和 typeorm
谢谢你的帮助
解决方案
您很可能会将两个函数之间的区别变成所述函数的参数
type TRepository = User | Order
async getName(id: number, rep: TRepository): Promise<string> {
const entity = await this.conn.getRepository(rep).findOne(id);
return entity.name;
}
推荐阅读
- python - 在 DataFrames 中拆分分号值
- java - 在 Java/Kotlin 中从字节数组创建 Key 对象
- function - 谁能告诉我如何在没有按钮的情况下使用该功能。功能应自动触发
- instance - Openstack 实例存储仓库
- powerbi - 如果满足条件,则获取两个日期之间的值
- reactjs - this.props.history.push 在不同的组件中给我未定义的错误
- php - Laravel 集合重命名嵌套键
- python - 使用 python 将 dict/JSON 转换为路径
- javascript - 是否可以在反应框架中悬停时添加 d3.js 饼图的工具提示
- php - 在 PHP 中,什么是反引号 (')?