2016-05-16 5 views
0

Ich habe eine Funktion erstellt, die zuvor zum Speichern von Benutzerdetails im Benutzerknoten in meiner Firebase-Datenbank arbeitete. Doch darauf heute versuchen, es jetzt kehrt eine Fehlermeldung,Muss ich die offAuth-Methode beim Abmelden aufrufen?

TypeError: Cannot read property 'uid' of null 

Der Code, den ich geschrieben habe einfach speichert die auth.uid als Kind von Benutzer und dann innerhalb dieses Knotens speichert er alle Daten des Benutzers. Ab Freitag funktionierte dies für einige Benutzer, aber jetzt erzeugt es die obige Fehlermeldung.

Um dies zu beheben, muss ich die offAuth-Methode beim Abmelden aufrufen? Wenn ja, wie würde ich darüber gehen?

Mein Code ist so weit unten.

ref.onAuth(function(authData) { 
    ref.child('user').child(authData.uid).set(authData).then(function(auth) { 
     console.log('Data Saved Successfully!'); 
    }).catch(function(error) { 
     console.log(error); 
    }) 
}) 

Antwort

0

Die Methode onAuth() wird aufgerufen, wenn sich der Authentifizierungsstatus des Benutzers ändert. Dies bedeutet, dass es aufgerufen wird, wenn der Benutzer authentifiziert wird und wenn er nicht authentifiziert wird. Im letzteren Fall ist das authData Argument null und Sie müssen das in Ihrem Code behandeln.

Vom Firebase documentation:

Verwenden Sie die onAuth (Methode) für Änderungen in der Benutzerauthentifizierung Zustand zu hören.

var ref = new Firebase("https://<YOUR-FIREBASE-APP>.firebaseio.com"); 
ref.onAuth(function(authData) { 
    if (authData) { 
    console.log("User " + authData.uid + " is logged in with " + authData.provider); 
    } else { 
    console.log("User is logged out"); 
    } 
}); 

Sie vermissen das if in Ihrem Code.

+0

Perfekt ... Fühle mich ziemlich dumm für das Vermissen. Vielen Dank. –

Verwandte Themen