typescript - 打字稿函数重载太大的文件
问题描述
有没有办法导入/导出函数重载或其他一些策略来减少文件中实际函数的噪音?例如,如果我将重载保存在同一个文件中,那么一个包含大约 250 行代码的文件肯定会变成 500+。
目前接口和类型函数不是一个选项,因为它们在用于重载时需要强制转换
解决方案
使用接口和箭头函数
// a.ts
export interface Foo {
// overloads here...
(a: string): string
(): any
}
// b.ts
import {Foo} from './a'
const foo: Foo = (...args: any[]) => ...
foo()
PS 你不能用经典函数来做,因为在这种情况下,函数重载必须放在实现之前。
推荐阅读
- firebase - getRedirectResult 返回 null
- java - CopyOnWriteArrayList 类的 remove(Object o, Object[] snapshot, int index) 是如何实现的?
- webpack - Webpack 4 splitChunks 和 libraryTarget
- java - 根据异常类名抛出异常
- java - 对象递归和展平列表中的对象
- sql-server - 更改 SQL Server 数据库备份计划中的目标文件夹
- python - 将组折叠成一行熊猫数据框
- python - "Resample" a timestamp according to its frequency
- angular - Angular 模块和服务
- selenium - 执行 Selenium 显式等待时 Katalon 中的 GroovyCastException