Rxjs就像运算符一样,就像for循环一样

时间:2018-03-11 04:45:06

标签: angular rxjs

我真的很喜欢rxjs,而且我希望做一些看起来有些不同寻常的事情(至少我还没有找到任何关于它的东西),但基本上,我正在尝试创建一个类似于for循环用于从我的数据库获取值,其中包括从一组用户(可以是任意数量的用户)获取数据。

目前我的for-loop的结构如下:

picture

但是我不知道如何将这个转化为一个Observable,它会随着时间的推移为每个朋友的帖子以Feed的可用方式发布值。现在这看起来效率很低,但它可能是我现在能做的最好的(希望不是)。

将来,我的想法是我只会显示前10个帖子(按时间顺序,基于他们的时间戳),然后当用户到达页面末尾时,它会显示下一批(但是似乎是另一天的另一个问题)。现在虽然它只是从与用户成为朋友的每个朋友检索每个帖子。

使用更多信息进行修改

for(let friend of user.friends) {
  this.postsSub = this.feedService.getPosts(friend.uid).map(friendPosts => {
    for(let post of friendPosts){
      this.posts.push(post);
    }
    this.feeds = this.feedService.sortAndReverse(this.posts);
  }).takeUntil(this.ngUnsubscribe).subscribe();
}

这样就可以获得与 userId1Feed: { postId1: { friend1, etc...} postId2: {friend2, etc...} postId3: {friend1, etc...} postId4: {friend1, etc...} postId5: {friend3, etc...} postId6: {friend2, etc...} }

成为朋友的人的所有帖子

0 个答案:

没有答案