Typescript函数会重载太大的文件

时间:2019-02-09 13:20:20

标签: typescript function overloading

是否有导入/导出函数重载的方法或其他一些方法来减少带有实际函数的文件中的干扰?例如。一个包含约250行代码的文件,如果我将重载保留在同一个文件中,则注定会变成500+。

当前接口和类型函数不是选项,因为它们require casting用于重载时

1 个答案:

答案 0 :(得分:0)

使用界面和箭头功能

// a.ts
export interface Foo {
  // overloads here...
  (a: string): string
  (): any
}

// b.ts
import {Foo} from './a'

const foo: Foo = (...args: any[]) => ...

foo()

P.S。您不能使用经典函数来做到这一点,因为在这种情况下,函数重载必须放在实现之前。