Ich versuche, den Benutzernamen meiner Spieler in einer Firebase-Datenbank zu speichern und zu laden, aber aus irgendeinem Grund funktioniert es nicht. Der Benutzername ist null, wenn ich Warnungen zum Debuggen verwende. Ich initialisiere Firebase in einem Tag in meiner HTML-Datei. Hier ist mein Code zum Speichern und Laden von Nutzernamen. Speichern funktioniert, aber nicht laden:Die Daten werden nicht geladen firebase.google.com-Datenbank
var signedIn = false;
var player;
var isAnonymous;
var userID;
var username = null;
window.onload = function() {
auth.onAuthStateChanged(function(user) {
//var user = firebase.auth().currentUser;
if (user) {
// User is signed in.
player = firebase.auth().currentUser;
signedIn = true;
isAnonymous = user.isAnonymous;
userID = user.uid;
refreshUsername();
} else {
// No user is signed in.
signedIn = false;
window.location.href = "index.html";
}
});
}
function refreshUsername() {
if (username != null && username != "") {
updateUsername();
document.getElementById("username-text").innerHTML += username;
} else {
updateUsername();
alert("old Not working: " + username);
var newName = getRandomName();
document.getElementById("username-text").innerHTML += newName;
saveUsername(newName);
username = newName;
alert("Not working: " + username);
}
}
function saveUsername(name) {
firebase.database().ref('users/' + userID).set({
username: name
});
}
function updateUsername() {
/*firebase.database().ref('/users/' + userID).once('value').then(function(snapshot) {
username = snapshot.val().username;
});*/
firebase.database().ref('users/' + userID).once('value').then(function(snapshot) {
username = snapshot.val().username;
});
}
Hinzufügen von Fehlerhandlern zu Ihren Listenern und sehen, was sie ausgeben? – Kato
@kato Ich habe, innerhalb der Methode funktioniert es, aber es gibt Null – PlanetVaster
gibt es keine Fehlerhandler auf die einmal-Methode oder set-Methode. – Kato