TypeScript回调数组

时间:2013-03-27 21:53:41

标签: arrays callback typescript

如何在TypeScript中声明一个回调数组?

单个回调如下所示:

var callback:(param:string)=>void = function(param:string) {};

所以回调数组应如下所示:

var callback:(param:string)=>void[] = [];

然而,这会产生歧义,因为我可能意味着一个回调数组,或者一个返回空洞数组的回调。

在TypeScript游乐场中,它认为它是一个空洞数组。所以,我的下一个是将它包装在括号中:

var callback:((param:string)=>void)[] = [];

但这也不起作用。

还有其他想法吗?

1 个答案:

答案 0 :(得分:12)

您需要使用完整类型的文字语法形式,如下所示:

var callback:{(param:string): void;}[] = [];

这有点难看;如果你愿意,你可以先为它命名:

interface fn {
    (param: string): void;
}
var callback2: fn[] = [];