2013-03-27 32 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