我试图维护代码,但我的项目没有编译我有这个错误的方法,我可以从SocketID获得球员的名字,它告诉我,像标题说,这是未定义的。你能帮我修改一下这个方法让它正常工作吗?非常感谢
getPlayerFromSocketID(socketId: string): Player {
return this.players.find((p) => p.getSocketId() === socketId);
}在其他类似的方法中,我没有得到错误
removePlayer(playerName: string): void {
console.log('Removing player from playerManager : ' + playerName);
const player = this.players.find((p) => p.getName() === playerName);
if (player !== undefined) {
this.players.splice(this.players.indexOf(player), 1);
}
}发布于 2021-10-12 17:55:26
getPlayerFromSocketID(socketId: string): Player {你已经说过你要返回一个播放器,但是代码实际上可以返回undefined,所以typescript指出了不匹配的地方。由于未定义是可能的,因此更新您的返回类型:
getPlayerFromSocketID(socketId: string): Player | undefined {或者,您可以将其关闭,然后typescript将为您解决此问题:
getPlayerFromSocketID(socketId: string) {https://stackoverflow.com/questions/69544944
复制相似问题