Ich erstelle eine Chat-Anwendung, mit der Benutzer Räume erstellen können, um bestimmte Themen zu diskutieren. Ein Problem, das ich habe ist, dass wenn Benutzer Räume mit den gleichen Namen erstellen, Daten überschrieben werden.Firebase Javascript: Callback-Funktion gibt nichts zurück
Ich habe versucht, jeden einzelnen Raum durchzugehen und zu prüfen, ob der eingegebene Raum mit dem Raumnamen übereinstimmt, den der Benutzer erstellt hat. Das Problem dabei ist, dass ich Daten nur asynchron bekommen kann. Ich habe versucht, eine Callback-Funktion zu implementieren, um die Variable zu aktualisieren, aber das scheint nicht zu funktionieren, weil mein Alarmbefehl nicht funktioniert.
Javascript/JQuery:
var roomName = $.trim(document.getElementById("roomname").value.toLowerCase());
var duplicate = function(roomname) {
var found = false;
roomsRef.on("child_added", function(snapshot) {
if (found == roomname) {
found = true;
}
});
}
duplicate(roomName, function(found) {
alert(found); // State whether it's a duplicate room or not.
});
Datenbankstruktur:
rooms
-all
-algorithms
-boxing
-javascript
-money
Vielen Dank! Das hat perfekt funktioniert. – Vaporeon