[英]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.