我在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
})
感謝您的回覆!嗯...因爲我試圖創建一個用戶可以加入的遊戲室。其他用戶可以看到房間裏有誰。我想這跟聊天室很相似。你鏈接的存在系統,我不太清楚如何使用它,除非有一箇中央服務器程序通過推送和刪除不同的房間來存在並執行某些操作。 –
你所描述的實際上是一個在線系統。與文檔中唯一的不同之處在於,對於您的情況,您希望它是每個遊戲室,這應該是一個相當小的修改。我建議你嘗試一下文檔中的一個,一旦它有效,就對它進行修改。 –
您當前的方法根本無法工作:用戶斷開連接後,他們無法再進行更改。這就是爲什麼在連接時必須知道每個用戶的更改,文檔中的狀態系統可以確保這些更改。 –