类型'void'不能分配给类型'(((err:any)=> void)

时间:2018-10-23 15:41:02

标签: typescript

我在打字稿中有以下界面

interface ConfigOptions {
    autoloadCallback: (err: any) => void;
}

在我的实现中,我有

options = {
  autoloadCallback: this.autoLoadCallBack(err)
}

public autoLoadCallBack(err: any) : void {
  console.log('im a callback');
};

会引发以下错误

  

属性“ autoloadCallback”的类型不兼容。   类型'void'不能分配给类型'((err:any)=> void)|未定义”。

因为autoLoadCallBack采用任何类型,并且不应该与接口规范相匹配而返回任何内容?

1 个答案:

答案 0 :(得分:1)

您正在调用this.autoLoadCallBack,然后将该函数的返回值(在本例中为空,因为它是无效的)分配给options.autoloadCallback

您似乎正在尝试将this.autoLoadCallBack函数直接分配给options.autoloadCallback,如下所示:

options = {
  autoloadCallback: this.autoLoadCallBack
}

public autoLoadCallBack(err: any) : void {
  console.log('im a callback');
};