2013-03-27 130 views
5

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

一个回调看起来是这样的:

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

所以回调的数组应该是这样的:

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

然而,这引起混淆,因为我可能意味着回调的阵列,或者返回一个空白数组的单个回调。

在TypeScript操场中,它认为它是一个空洞数组。所以,我的下一个虽然是包装在括号内:

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

但是,这也行不通。

还有其他想法吗?

回答

9

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

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

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

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

很酷。这比我暂时在那里的任何[]都好。谢谢。 =) – samanime 2013-03-28 02:02:09