首页 文章

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

提问于
浏览
0

我在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 回答

  • 1

    您正在调用 this.autoLoadCallBack 然后将该函数的返回值(在这种情况下,它是无效的,因为它是无效的)分配给 options.autoloadCallback .

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

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

相关问题