RxJava 操作符与应用实践
1. GroupedObservable 与嵌套 Observable
在处理数据时, groupBy() 操作符无法预先知晓上游会生成多少不同的键(如 UUID)。因此,它需要动态生成这些键。当发现一个新的 UUID 时,就会发出一个新的 GroupedObservable<UUID, ReservationEvent> ,并推送与该 UUID 相关的事件。这表明外层数据结构必须是一个 Observable 。
GroupedObservable 是 Observable 的一个简单子类,除了遵循标准的 Observable 契约外,它还会返回一个键,该流中的所有事件都属于这个键(在我们的例子中是 UUID)。发出的 GroupedObservable 的数量可以从 1 个(所有事件都具有相同的键)到事件总数(如果每个上游事件都有唯一的键)不等。在这种情况下,嵌套 Observable 并不是坏事。当我们订阅外层 Observable 时,每个发出的值实际上是另一个 Observable ( GroupedObservable ),我们可以对其进行订阅。例如,每个内部流可以提供相互关联的事件(如相同的关联 ID),但内部流之间是相互独立的,可以分别进行处理。
超级会员免费看
订阅专栏 解锁全文
1052

被折叠的 条评论
为什么被折叠?



