Ich habe 2 Textfelder, eins für Benutzername und das andere für Passwort. HierFirebase - Uncaught (in Versprechung) TypeError: Kann Eigenschaft nicht lesen
<input type="text" id="username">
<input type="text" id="password">
<input type="button" value="Login" onclick="authenticateUser()">
ist der Feuerbasis Code:
function authenticateUser() {
var username = document.getElementById('username').value;
var password = document.getElementById('password').value;
database.ref('users/'+username).once('value').then(function(snapshot) {
var email = snapshot.val().email;
console.log(email);
});
}
Es sagt
Uncaught (in promise) TypeError: Cannot read property 'email' of null
Der obige Code funktioniert und holt die E-Mail, wenn der Benutzername abgestimmt ist, aber was ist, wenn der Benutzername nicht der Fall ist existiert, wenn es nicht dann wirft TypeError, wie man diesen Fehler fängt?
Dies gilt leider nicht funktioniert:
function authenticateUser() {
var username = document.getElementById('username').value;
var password = document.getElementById('password').value;
database.ref('users/'+username).once('value').then(function(snapshot) {
var email = snapshot.val().email;
console.log(email);
}, function(error) {
console.log('Invalid Username');
});
}
Bei E-Mail und Passwort-Authentifizierung, gibt es catch
firebase.auth().createUserWithEmailAndPassword(email, password).catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
// ...
});
In Java gibt es so etwas wie
catch(TypeError error) {
//Do whatever you want to do
}