我正在尝试在打字稿中实现下面显示的接口
interface A{
(message: string, callback: CustomCallBackFunction): void;
(message: string, meta: any, callback: CustomCallBackFunction): void;
(message: string, ...meta: any[]): void;
(message: any): void;
(infoObject: object): void;
}
这里 CustomCallBackFunction 定义
type CustomCallBackFunction= (error?: any, level?: string, message?: string, meta?: any) => void;
我无法用类实现接口。任何想法如何做到这一点。
这是用于方法重载例如,我有一个 B 类,其类型为 A 变量,其实现引用所有其他选项。
class B {
public c: A
}
然后我可以打电话
const b =new B();
b.c(message,callback);
b.c(message,meta,callback);
b.c(message,meta);
b.c(infoObject);