如何在TypeScript中声明一个回调数组?
单个回调如下所示:
var callback:(param:string)=>void = function(param:string) {};
所以回调数组应如下所示:
var callback:(param:string)=>void[] = [];
然而,这会产生歧义,因为我可能意味着一个回调数组,或者一个返回空洞数组的回调。
在TypeScript游乐场中,它认为它是一个空洞数组。所以,我的下一个是将它包装在括号中:
var callback:((param:string)=>void)[] = [];
但这也不起作用。
还有其他想法吗?
答案 0 :(得分:12)
您需要使用完整类型的文字语法形式,如下所示:
var callback:{(param:string): void;}[] = [];
这有点难看;如果你愿意,你可以先为它命名:
interface fn {
(param: string): void;
}
var callback2: fn[] = [];