Kotlin Coroutine Flow api有没有像Rx Subject这样的桥接工具?

Does Kotlin Coroutine Flow apis have bridge tools like Rx Subject?

  1. Channel()BroadcastChannel() 类似于 Rx Subjects。 Channel 同时具有发送和接收方法使其像桥接器或代理,较新的 Flow api 中的等效方法是什么?

  2. 大量Channel函数被弃用,我们是否应该从现在开始完全避免Channel?或者 Channel 对我们来说和 Flow 一样重要?

目前 Flow 不支持与 Rx Subject 相同的功能,因为它代表 cold 数据流(即你不应该能够 post 值从流的构建器外部流出。 最接近 Rx Subject 的类似物是 BroadcastChannel,因为它支持多个接收器(而 Channel 只允许有一个接收器)。 大多数 Channel 流方法,如 mapflatMap 和其他流方法已被弃用,取而代之的是 Flow 流方法。但是您可以使用 BroadcastChannel#asFlow()Channel#consumeAsFlow() 方法将 Channel 表示为 Flow