Поскольку это наблюдаемое, если вы хотите читать свои данные только один раз и не получать никаких новых сообщений о возможном обновлении, просто добавьте 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 => {
});
Это займет первое излучение, а затем завершить наблюдаемое.