繁体   English   中英

TypeScript界面​​中的箭头函数,返回类型为void

[英]Arrow function in typescript interface with return type as void

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

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

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

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

我也尝试过搜索google,但没有找到任何示例。 谢谢 !!

您正在做的事情似乎很好,只是缺少该函数的名称(或者,如果这是一个构造constructor则缺少constructor关键字)

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

@Injectable()
export class ToastrService implements IToastr {
    toast(message:string,title:string):void {
         toastr.success(message,title);
    }
}

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

范例1:

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM