我有一个具有属性类的类,它将函数作为参数。打字稿编译器在第二个=>
上产生“;预期”错误。有什么想法?代码如下。
class Foo{
public fn: ((string) => void) => void;
}
var foo = new Foo();
foo.fn = function(logger: (string) => void): void{
logger("bar");
};
var writeToConsole = function(str: string): void {
console.log(str);
}
foo.fn(writeToConsole);
答案 0 :(得分:4)
因为内部函数需要一个名称,然后才能指定它的类型:
public fn: (inner: (string) => void) => void;
显然inner
是任意的,根据自己的喜好进行更改。看到它在Typescript playground工作(注意:使用缩短的网址,因为原始链接包括括号,这会使得降价变得混乱,我不想逃避所有这些)