operator nodejs example español ejemplos typescript

nodejs - typescript version



Una serie de funciones escritas a máquina (2)

Estoy luchando para descubrir si es posible en TypeScript declarar una matriz de funciones tipada estáticamente.

Por ejemplo, puedo hacer esto:

foo: (data:string) => void = function (data) {};

Pero si quiero que foo sea una serie de funciones que toman una cadena y no devuelven nada, ¿cómo hago eso?

foo: (data:string) => void [] = [];

No funciona porque TypeScript cree que es una función que toma una cadena y devuelve una matriz de vacío, y parece que no me gusta que trate de ajustar la función entre corchetes.

¿Algunas ideas?

Respuesta : Gracias a mohamed a continuación, he aquí un ejemplo que funciona en el área de juegos de TypeScript:

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();


Otras formas (más nuevas y más legibles) de escribir una matriz de funciones usando flechas gordas:

let foo: Array<(data: string) => void>; let bar: ((data: string) => void)[];