我需要做一个“收藏夹”系统,用户可以在其中添加一些作品作为自己的收藏夹,然后将出现一个页面,其中显示所有标记为收藏夹的作品。
问题是:每个产品都存储在Firebase中(包含密钥),并且有一个收藏夹列表,其中仅包含产品的密钥。我可以在“收藏夹”列表中添加和删除,甚至可以检查作品是否是收藏夹。我的问题是将生产列表(包含键,标题,描述,URL)与收藏夹列表(仅包含键)合并,然后向用户显示此新收藏夹列表。我认为问题出在此功能上:
favoriteProducts(): Observable<Producao[]> {
return this.allProducts().pipe(
switchMap(ap => from(ap)),
mergeMap(p => {
return fromPromise(this._favs.isFavorite(p.key)).pipe(
filter(Boolean),
mapTo(p)
);
}), toArray()
);
}
谢谢!