2017-11-26 4 views
-1

Sagen, ich habe dies:mit Typoskript

type T = (x: number) => boolean; 

let fn = function(a: string, b: boolean, c: T){}; 

fn('yes', true,()=> { 

}); 

dies wird nicht kompiliert. Was ich tun möchte, ist die anonyme Funktion auf eine bestimmte Art zu werfen, so etwas wie dieses:

fn('yes', true,()=> { 

} as T); 

oder

fn('yes', true, <T>()=> { 

}); 

aber das wird auch nicht kompilieren, bekomme ich diesen Fehler:

Cannot find name "as"

Wie kann ich die Funktion auf einen anderen Typ inline umwandeln?

Antwort

-1

Ok, so habe ich einigen Versuch und Irrtum, und das ist offenbar die Syntax, die funktioniert:

type T = (x: number) => boolean; 

let fn = function(a: string, b: boolean, c: T){}; 

fn('yes', true, (() => { 

}) as any); 

fn('yes', true, <any>(() => { 

})); 

scheint ein paar zusätzliche Klammer zu erfordern, als ich erwartet hatte.