Как вы можете видеть ниже, я пытаюсь прочитать список данных из базы данных, а затем перебрать результат в javascript.Функция запускается всякий раз, когда я открываю / обновляю страницу:
firebase.database().ref("Users/" + uid + "/rooms").on("value", function(snapshot) {
snapshot.forEach(function(e) {
var element = e.val();
var roomId = element.Id;
});
});
Однако эта конкатенация строк для указания идентификатора пользователя по какой-то причине не работает.Когда я заменяю его идентификатором пользователя напрямую, как это:
firebase.database().ref("Users/GR3JFsMrKOjCrLhDNFMaq72COd07/rooms").on.....
, который работает отлично.Но, конечно, я хочу использовать переменную, которая содержит Id текущего пользователя.
Переменной uid присваивается значение в onAuthStateChanged при проверке, вошел ли пользователь в систему:
firebase.auth().onAuthStateChanged(function(user) {
if (user) {
// User is signed in.
uid = user.uid;
Если я добавлю console.log следующим образом:
firebase.database().ref("Users/" + uid + "/rooms").on("value", function(snapshot) {
console.log(snapshot.parent);
snapshot.forEach(function(e) {
, вывод с первым примером кода (с использованием переменной uid) будет: undefined.Если я укажу идентификатор пользователя напрямую, это будет: room-id-1 (результат, который я хочу).
Как заставить работать конкатенацию строк?Или это неправильный способ указания пути текущего пользователя?