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中可用,但与我的代码不匹配?
发布于 2018-10-03 14:33:33
由于这是可以观察到的,如果您只想读一次数据,并且不想获得任何新的可能更新的排放,只需在操作链中添加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 => {
});这将需要第一次发射,然后完成可观测的。
https://stackoverflow.com/questions/52620908
复制相似问题