use*_*701 5 interface typescript es6-promise
interface IPlayer {
id: String;
name: String;
dob: String;
GetName<IPlayer>(): Promise<IPlayer>;
}
class Player implements IPlayer {
constructor(public id: String, public name: string, public dob:string) { }
GetName<IPlayer>(): Promise<IPlayer> {
let player: IPlayer = new Player("Hello", "World", '');
return new Promise<IPlayer>((resolve, reject) => {
resolve(player);
});
};
}
Run Code Online (Sandbox Code Playgroud)
非常注意确定我在哪里做错了。您能否告诉我为什么我无法在此代码中创建接口的实例?
这将返回以下错误。
在创建接口实例时,有人可以帮我解决这个错误吗?
问题是您将声明IPlayer为的类型参数GetName。此泛型类型参数与interface没有关系IPlayer。您只需删除通用类型参数,它就会按预期工作:
interface IPlayer {
id: String;
name: String;
dob: String;
GetName(): Promise<IPlayer>;
}
class Player implements IPlayer {
constructor(public id: String, public name: string, public dob: string) { }
GetName(): Promise<IPlayer> {
let player: IPlayer = new Player("Hello", "World", '');
return new Promise<IPlayer>((resolve, reject) => {
resolve(player);
});
};
}
Run Code Online (Sandbox Code Playgroud)