Как сделать так, чтобы данные Firebase читались только один раз в машинописи - PullRequest
0 голосов
/ 03 октября 2018
readProductFromServer() {

    this.qS = this.afDatabase.list('product_table', ref => {

      return ref.limitToLast(1000) ;


    }).snapshotChanges().map(changes => {
      return changes.map(c => ({ key1: c.payload.key, ...c.payload.val() }));
    });
    this.qS.subscribe(values => {

    });
  }

Как сделать так, чтобы код читался только один раз.Я искал в Интернете и не получил ответ на свой код, какое-либо решение доступно в StackOverflow, но не совпадает с моим кодом?

1 Ответ

0 голосов
/ 03 октября 2018

Поскольку это наблюдаемое, если вы хотите читать свои данные только один раз и не получать никаких новых сообщений о возможном обновлении, просто добавьте take(1) в свои цепочки операторов:

this.qS = this.afDatabase.list('product_table', ref => {
    return ref.limitToLast(1000) ;
}).snapshotChanges().map(changes => {
    return changes.map(c => ({ key1: c.payload.key, ...c.payload.val() }));
}).take(1);

this.qS.subscribe(values => {

});

Это займет первое излучение, а затем завершить наблюдаемое.

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