snapshotChanges () потоковая передача несколько раз - PullRequest
0 голосов
/ 19 сентября 2018

Текущие документы выборки (lobbies) в моей базе данных Firestore с указанными свойствами имени и пароля:

getLobbyByNameAndPassword(name: string, password: string): Observable<Lobby[]> {
    const lobbiesRef =
      this.afs.collection('lobbies', ref => ref.where('name', '==', name)).snapshotChanges().pipe(
        map(actions => {
          return actions.map(a => {
            const data = a.payload.doc.data() as Lobby;
            const id = a.payload.doc.id;
            return { id, ...data };
          });
        }));
    return lobbiesRef.pipe(
      map((res) => {
        return res.filter(item => item.password === password);
      })
    );
  }

Я использую snapshotChanges() для извлечения id документов, как объясненов официальном репозитории git здесь .Но я добавил pipe функцию, потому что я думаю, что это требуется сейчас с более новой версией RxJS.Затем я просто внедряю другой канал для фильтрации результатов.

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

Есть идеи почему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...