Остановить функцию onSnapshot в FireStore - PullRequest
0 голосов
/ 27 декабря 2018

Кто-нибудь знает, как получить функцию onSnapshot в firestore.Я хочу, чтобы, если условие if выполнено, функция выйдет и запрос базы данных завершится.Функция вызывается onClick, и первым шагом является добавление чего-либо в базу данных.Второй шаг должен состоять в том, что если это уже что-то в коллекции, то остановите запрос в реальном времени и остановите функцию после добавления вашей информации в базу данных.Пользователь не должен замечать ничего больше о функции, которая означает, что больше нет обновлений из базы данных.Я надеюсь, что кто-то может мне помочь.

  db.collection('Requests').doc('lobby1').collection('1').add({
            name: 'test',
            createdAt: Date.now()
        }).catch(err =>{
            console.log(err)
        })  

  let ref= db.collection('Requests').doc('lobby1').collection('1')
  ref.onSnapshot(snapshot => {
    console.log(snapshot.size)
    if(snapshot.size >= 2){
        console.log('Test'); 
    }
  }
)

1 Ответ

0 голосов
/ 27 декабря 2018

Согласно документации API, onSnapshot () возвращает

Функция отмены подписки, которая может быть вызвана для отмены прослушивателя снимка.

и показывает пример его использования.

  const unsubscribe = ref.onSnapshot(snapshot => {
    console.log(snapshot.size)
    if(snapshot.size >= 2){
        console.log('Test'); 
        unsubscribe();
    }
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...