2013-03-27 1 views
5

Come dichiarare un array di callback in TypeScript?Array TypeScript di callback

Una singola richiamata appare così:

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

Quindi una serie di callback dovrebbe apparire così:

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

tuttavia, che crea ambiguità, dal momento che potrebbe significare una serie di callback, o un singolo callback che restituisce una matrice di spazi vuoti.

Nel campo di gioco di tipoScript, si ritiene che sia una matrice di spazi vuoti. Quindi, il mio prossimo però è stato quello di racchiuderlo tra parentesi:

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

Ma anche questo non funziona.

Altre idee?

risposta

9

Avrete bisogno di utilizzare il tipo di forma piena la sintassi letterale, in questo modo:

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

Questa è una sorta di brutto; se vuoi, puoi prima fare un nome:

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

Cool. È molto meglio di qualsiasi [] ho avuto temporaneamente lì dentro. Grazie. =) – samanime