Firebase-Präsenzsystem: hört nie auf zu schreiben

9

Bearbeiten Zur Klärung: Ich habe zwei Probleme. 1. Warum wird mein Knoten überschrieben? 2. Warum wird der Callback scheinbar rekursiv aufgerufen?

Ich folge dieser Anleitung , um ein Präsenzsystem für meine Webanwendung zu implementieren. Ich möchte, dass alle angemeldeten Benutzer immer wissen können, ob alle anderen Benutzer online sind oder nicht. Hier ist mein Code:

%Vor%

Wenn ich den Code teste, schreibt er tausende von true auf jeden "Verbindungen" -Node des Players. Die seltsame Sache ist, dass alle anderen Kinder jedes Spielers gelöscht werden. Warum passiert dies? Ein Player-Knoten sieht folgendermaßen aus:

%Vor%

Ich setze den "player1" -Node nicht in meinem Code, nur ein Kind davon. Ich weiß zu 100%, dass es der obige Code ist, der dieses Verhalten verursacht, aber ich kann nicht herausfinden, warum. Kann mir bitte jemand sagen, warum der obige Code die Player-Knoten löscht?

    
hellogoodnight 30.05.2016, 14:44
quelle

1 Antwort

0

Es scheint, dass bei den Variablen, die mit newState kommen, etwas schief gelaufen ist. Ich habe diesen Test hier gemacht:

%Vor%

Und ich habe folgendes passiert.

1) Erster Client verbunden

2) Zweiter Client verbunden

3) Beide Clients haben die Verbindung getrennt

Es scheint mir, dass dies das gewünschte Ergebnis ist. Versuchen Sie also zu debuggen, was als newState verwendet wird, vielleicht erhalten Sie 'undefiniert' oder einen anderen festen Wert.

    
Tulio Faria 03.01.2017 11:50
quelle

Tags und Links