Typescript 接口中返回类型为 void 的箭头函数

Aka*_*ash 0 typescript arrow-functions angular

我试图在类型脚本接口中编写箭头函数,如下所示,但出现错误“类‘ToastrService’错误地实现了接口‘IToastr’。”

interface IToastr{
    (message:string,title:string):void;
}

@Injectable()
export class ToastrService implements IToastr {
    (message:string,title:string):void {
         toastr.success(message,title);
    }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是:我们可以在 TS 接口中定义一个返回类型为 void 的函数签名吗?

我也尝试搜索谷歌,但没有找到任何例子。谢谢 !!

Erv*_*jku 5

对的,这是可能的。请查阅官方打字稿以获取更多信息。

示例1:

interface SearchFunc {
    (source: string, subString: string): void;
}
let mySearch: SearchFunc;
mySearch = function(source: string, subString: string) {
    // do smth
}
Run Code Online (Sandbox Code Playgroud)

示例 2:解决方案:您应该命名您的函数

interface IToastr{
    FuncName(message:string,title:string):void;
}

class ToastrService implements IToastr {
    FuncName(message:string,title:string):void {
         // toastr.success(message,title);
    }
}
Run Code Online (Sandbox Code Playgroud)