обновление в реальном времени от Firebase - PullRequest
0 голосов
/ 10 апреля 2020

У меня есть функция, которая выполняет вызовы для базы данных Firebase и возвращает эти данные. Я пытаюсь реализовать прослушиватель этой функции, чтобы при обновлении базы данных содержимое моего веб-сайта также обновлялось без ссылки sh.

Моя функция выглядит следующим образом

export const loadBookings = async () => {
    const providersSnapshot = await firebase.database().ref('products').once('value');
    const providers = providersSnapshot && providersSnapshot.val();

    if (!providers) {
        return undefined;
    }
    return providers;
};

Прочитав некоторую документацию, я попытался изменить ее на что-то вроде этого

const providersSnapshot = await firebase.database().ref('products').once('value');
    let providers = "";
    providersSnapshot.on('value', function(snapshot) {
        providers = snapshot.val();
    });

Но код работает не так. Как я могу слушать в режиме реального времени мой пожарный вызов?

1 Ответ

0 голосов
/ 10 апреля 2020

Используйте on ('значение') вместо once('value'). once() просто запрашивает один раз (как следует из его названия). on() добавляет слушателя, который будет неоднократно вызываться с изменениями по мере их возникновения.

Я предлагаю прочитать документацию , чтобы найти пример использования on(). Показывает:

var starCountRef = firebase.database().ref('posts/' + postId + '/starCount');
starCountRef.on('value', function(snapshot) {
  updateStarCount(postElement, snapshot.val());
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...