我在firebase上有一个节点,列出游戏中的所有玩家。此列表将在新玩家加入时更新。当当前用户(我)断开连接时,我想从列表中删除我自己。断开连接时的Firebase更新
由于名单将随时间而改变,在我断开的那一刻,我想更新列表,然后更新火力点。
这是我想这样做的方式,但它不工作作为.update犯规接受功能。只有对象。但是,如果我事先创建对象,当.onDisconnect调用时,它不会是最新的对象......我该如何去做这件事?
payload.onDisconnect().update(() => {
const withoutMe = state.roomObj
const index = withoutMe.players.indexOf(state.userObj.name)
if (index > -1) {
withoutMe.players.splice(index, 1)
}
return withoutMe
})
感谢您的回复!嗯...因为我试图创建一个用户可以加入的游戏室。其他用户可以看到房间里有谁。我想这跟聊天室很相似。你链接的存在系统,我不太清楚如何使用它,除非有一个中央服务器程序通过推送和删除不同的房间来存在并执行某些操作。 –
你所描述的实际上是一个在线系统。与文档中唯一的不同之处在于,对于您的情况,您希望它是每个游戏室,这应该是一个相当小的修改。我建议你尝试一下文档中的一个,一旦它有效,就对它进行修改。 –
您当前的方法根本无法工作:用户断开连接后,他们无法再进行更改。这就是为什么在连接时必须知道每个用户的更改,文档中的状态系统可以确保这些更改。 –