2016-05-24 5 views

Antwort

15

createUserWithEmailAndPassword ist ein asynchroner Aufruf wie fast jede andere Funktion in Firebase. Sie erstellen den Benutzer (am wahrscheinlichsten erfolgreich), aber dann sofort nachdem Sie versuchen und greifen Sie die currentUser. In fast allen Fällen werden Sie versuchen, die currentUser zu erhalten, bevor Firebase Ihren Benutzer erstellt hat.

Rewrite innen Rückruf:

firebase.auth().createUserWithEmailAndPassword(email, password).then(function(user) { 
    // [END createwithemail] 
    // callSomeFunction(); Optional 
    // var user = firebase.auth().currentUser; 
    user.updateProfile({ 
     displayName: username 
    }).then(function() { 
     // Update successful. 
    }, function(error) { 
     // An error happened. 
    });   
}, function(error) { 
    // Handle Errors here. 
    var errorCode = error.code; 
    var errorMessage = error.message; 
    // [START_EXCLUDE] 
    if (errorCode == 'auth/weak-password') { 
     alert('The password is too weak.'); 
    } else { 
     console.error(error); 
    } 
    // [END_EXCLUDE] 
}); 

.then wird nach Erfolg und function(error) aufgerufen wird, auf Fehler aufgerufen werden. Sie möchten Ihren Benutzer festlegen, nachdem die Benutzererstellung erfolgreich war.

Einige Leute mögen die verschachtelten Rückrufe nicht, so dass Sie eine Funktion erstellen können, die den aktuellen Benutzer erhält und die Funktion bei Erfolg aufruft.

Dokumente:

Firebase Promises

Async, callbacks

+0

Ordnung der Spitze mit der .then (function() {...}); war gut und funktioniert, aber der Benutzer, updateProfile nicht ... Es zeigt die displayName als null, wenn ich eine Überprüfung auf dem aktuellen Benutzer und zusätzlich kann ich nicht die .set-Funktion für die Datenbank arbeiten .... Irgendwelche Tipps? – Marc

+0

https://firebase.google.com/docs/auth/web/manage-users – Marc

+1

Probieren Sie meine neue Antwort aus, 'user' wird anstelle von' error' in den success callback übernommen und 'user' wird verwendet, um' 'zu setzen displayName " – theblindprophet

Verwandte Themen