gpt4 book ai didi

实现接口(interface)时出现 TypeScript 错误

转载 作者:搜寻专家 更新时间:2023-10-30 21:20:27 25 4
gpt4 key购买 nike

编译器错误-

类“MessageBus”错误地实现了接口(interface)“IMessageBus”。 “MessageBus”类型中缺少属性“dispatch”。

IMessageBus 接口(interface)-

export interface IMessageBus {
dispatch: (eventName: string, info?: any) => void;
listen: (eventName: string, callback: Function) => void;
}

MessageBus 类-

import {IMessageBus} from './IMessageBus';

export class MessageBus implements IMessageBus {
static listeners: Object[] = [];
public static dispatch(event: string, info?: any): void {
this.listeners
.forEach((l) => {
if (l["event"] === event) {
l["cb"](info);
}
});
}

public static listen(event:string, cb: (any) => any):void {
this.listeners.push({event: event, cb: cb});
}
}

请就如何解决这个问题提出建议。

最佳答案

蒂埃里的回答是正确的。

你的接口(interface)没有定义错。但更惯用的定义如下:

export interface IMessageBus {
dispatch(eventName: string, info?: any): void;
listen(eventName: string, callback: Function): void;
}

关于实现接口(interface)时出现 TypeScript 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36174676/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com