首页 > 解决方案 > 获取没有本地缓存​​的数据

问题描述

问题

在一个 Angular Web 应用程序中,我从一个集合中获取数据,我们称之为这个集合lists,我得到一个列表(让我们list1从这个集合中调用它,使用它的 key.

稍后在同一个应用程序中,我正在对此lists集合执行查询以获取所有符合我的条件的列表,假设我希望authorIdkey 等于我的 current userId

但是,问题在于list1符合条件,因此在显示lists符合我的条件的条目的页面中,我的查询中有两个 Observable 排放,第一个是与lists我已经获取的条目匹配的内容,第二个是来自服务器的内容。

这是一个问题,因为在用户方面,他们看到加载动画,然后显示其中一个列表(他们已经从 db 获得的列表),然后显示所有列表。

示例查询:

this.firestore.collection('lists', ref => ref.where('userId', '==', 'foo'))

已经试过了

在数据 Observable 上使用skip(1)运算符,但这不起作用,因为如果我直接进入此页面而不先获取另一个列表,那么第一个发射就是我想要的,我正在跳过它,导致无限加载器直到有人或者编辑其中一个列表,触发valueChange()Observable 的另一个发射。

标签: angulargoogle-cloud-firestoreangularfire2

解决方案


推荐阅读