Edit Netleştirmek için: İki sorunum var. 1. Düğüm neden üzerine yazılmıştır? 2. Geri aranan görünüşte neden yinelenen çağrılıyor?Firebase varlık sistemi: yazma işlemini durdurur
Web sunucuma bir varlık sistemi uygulamak için this guide numaralı telefonu takip ediyorum. Tüm diğer kullanıcıların, diğer tüm kullanıcıların çevrimiçi olup olmadığını her zaman bilmesini istiyorum.
currentGameRef = gamesInProgressRef.child(newState.currentTable);
var myConnectionsRef = currentGameRef.child("player" + newState.myPlayerNumber).child("connections");
var lastOnlineRef = currentGameRef.child("player" + newState.myPlayerNumber).child("lastOnline");
var connectedRef = firebase.database().ref('.info/connected');
connectedRef.on("value", function(snap) {
if(snap.val() == true){
var con = myConnectionsRef.push(true);
con.onDisconnect().remove();
lastOnlineRef.onDisconnect().set(firebase.database.ServerValue.TIMESTAMP);
}
});
Ben Kodu sınamak için bu oyunculara "bağlantıları" -node her birine true
binlerce yazıyor: İşte benim kodudur. Garip olan şey, her oyuncunun diğer tüm çocukların silinmesi. Bu neden oluyor? Bir oyuncu düğümü şöyle görünür: Benim kodunda "player1" -node, bunun sadece bir çocuk ayarlamayın
"player1" : {
"name": "Vladimir Putin",
"country": "Russia",
...,
...,
"connections" : {
...
...
}
}
. Bu davranışa neden olan yukarıdaki kodun% 100 olduğunu biliyorum, ancak nedenini anlayamıyorum. Birisi lütfen yukarıdaki kodun neden oyuncu düğümlerini temizlediğini söyler mi?
'snap.val()' değerleri nedir? '===' yerine '==' değiştirmenin bir nedeni var mı? –
Hayır, bunu yanlışlıkla yaptım. Şimdi değiştirdim. Aynı şey. Snap.val() değeri, kod snippet'ine girdiğinden ve jet dizisini bağlantılar dizisine başka bir doğruya iterdiğinden dolayı doğru olmalıdır. – hellogoodnight
Kodunuzda bu "newState" değişkeni birden çok kez görünüyor? – vzsg