如何在firebase firestore中合并多个流

Sim*_*eon 6 merge stream firebase flutter stream-builder

在你说这是一个重复的问题或者我应该使用嵌套流构建器之前,请听我说。

我正在设计一个社交媒体类型的应用程序。我希望用户在他们关注的人在他们的“我的关注者帖子”集合中发布一些内容时收到更新。在应用程序中,应用程序将检查当前用户的关注列表(他关注的人)的 firebase rtdb 并列出他们的 uid。

我计划使用所述列表来创建流列表(当然按时间排序)并将它们合并到一个流中,然后将其输入到私有提要页面上的流构建器中。

在此页面上,用户将能够轻松关注他们感兴趣的人发布的内容。

我认为这样的系统比在“私人订阅源”集合中拥有文档的每个用户更具成本效益,每当有人发布内容时,该应用程序都会读取他们的关注者列表,然后立即在他们的每个人中发布更新私人饲料。因为... 想象一个拥有 200 万粉丝的人。即瞬间写入 200 万次。后来,阅读了 200 万次。我认为对于发帖人来说,将帖子放在他们的“publicFeed”中会更具成本效益,而不同的关注者只需收听该提要并与他们保持联系。

但是.. 这需要实现多个流(超过 2 个)的合并。我该怎么做呢?

我曾尝试阅读 RxDart,但它对我来说完全是希腊文。我是飞镖的初学者。我现在只编码了大约 5 个月。

小智 3

您可以使用 async 包中的 StreamGroup:https ://pub.dev/documentation/async/latest/async/StreamGroup-class.html对来自多个流的事件进行分组 - 它由 dart 团队详细记录和维护。如果您没有 RxDart 经验,这是一个不错的选择。它不具备 rx 的所有功能,但对于初学者来说应该更容易理解它