有没有办法定义函数参数采用哪些参数和哪些类型的参数。例如:
我想使用TypeScript来声明boundTransportFn
的接口。该参数的类型是一个函数,但是如何使用TypeScript来定义函数采用的参数?
重要提示:此功能(boundTransportFn)是我无法访问的用户提供的功能。换句话说,我无法访问boundTransportFn声明,我只有参数
答案 0 :(得分:2)
是的,有:
interface BoundFunc {
// Put your definition here
}
// Then, somewhere else:
export class MyClass {
myMethod(boundTransportFn: BoundFunc) {
return function(boundTransportFn) {
// ...
}
}
}
请注意,这是直接来自official Typescript handbook。 ; - )
所以,按照你的例子:
MyClass.myMethod()
BoundFunc
的用户必须遵守{{1}}界面。
答案 1 :(得分:1)
我不确定我是否正确理解了这个问题,但是这里是你如何声明一个带有两个参数的函数的参数 - any
和string
- 然后返回void
(这就是我认为当我查看你的代码时函数的类型):
return function (boundTransportFn: (a: any, key: string) => void) {
}
另请参阅handbook。
中的“编写函数类型”部分