首页 > 解决方案 > 打字稿函数重载太大的文件

问题描述

有没有办法导入/导出函数重载或其他一些策略来减少文件中实际函数的噪音?例如,如果我将重载保存在同一个文件中,那么一个包含大约 250 行代码的文件肯定会变成 500+。

目前接口和类型函数不是一个选项,因为它们在用于重载时需要强制转换

标签: typescriptfunctionoverloading

解决方案


使用接口和箭头函数

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

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

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

foo()

PS 你不能用经典函数来做,因为在这种情况下,函数重载必须放在实现之前。


推荐阅读