Ich bin zu kämpfen, um herauszufinden, ob es möglich ist, in Typoskript eine statisch typisierte Array von Funktionen zu erklären.
Zum Beispiel kann ich dies tun:
foo: (data:string) => void = function (data) {};
Aber wenn ich foo will eine Reihe von Funktionen, die eine Zeichenfolge nehmen und zurück nichts, wie mache ich das?
foo: (data:string) => void [] = [];
Geh nicht, weil Typoskript denkt, es ist eine Funktion, die einen String und gibt ein Array von Leere, und es scheint nicht zu mögen ich versuchen, die Funktion in Klammern zu wickeln.
Irgendwelche Ideen?
Antwort : Dank mohamed unten, hier ist ein Beispiel , das in dem Typoskript Spielplatz funktioniert:
class whatever {
public foo: { (data: string): void; }[] = [];
dofoo() {
for (var i=0; i < this.foo.length; i++) {
this.foo[i](test);
}
}
}
var d = new whatever();
d.foo.push(function(bar){alert(bar)})
d.foo.push(function(bar){alert(bar.length.toString())})
d.dofoo();













