Channel()
,BroadcastChannel()
与Rx Subject
相似。 Channel
具有发送和接收方法,使其像桥接器或代理一样,在较新的Flow
API中等效的方法是什么? Channel
函数,从现在开始我们应该完全避免Channel
吗?还是Channel
对Flow
同样重要? 最佳答案
目前Flow
不支持与Rx Subject
相同的功能,因为它代表了冷数据流(即,您不应将值发布到要从流生成器外部发送的值)。
与Rx Subject
最接近的类似物是BroadcastChannel
,因为它支持多个接收者(而Channel
只允许一个接收者)。
不赞成使用大多数Channel
流方法,例如map
,flatMap
和其他方法,而推荐使用Flow
流方法。但是,您可以使用Channel
和Flow
方法将BroadcastChannel#asFlow()
表示为Channel#consumeAsFlow()
。
关于kotlin - Kotlin Coroutine Flow api是否具有Rx Subject等桥接工具?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57929294/