Typescript:获取函数参数的函数的类型 - 获取“;期望”错误

时间:2016-01-05 02:07:18

标签: typescript

我有一个具有属性类的类,它将函数作为参数。打字稿编译器在第二个=>上产生“;预期”错误。有什么想法?代码如下。

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

1 个答案:

答案 0 :(得分:4)

因为内部函数需要一个名称,然后才能指定它的类型:

public fn: (inner: (string) => void) => void;

显然inner是任意的,根据自己的喜好进行更改。看到它在Typescript playground工作(注意:使用缩短的网址,因为原始链接包括括号,这会使得降价变得混乱,我不想逃避所有这些)