Kotlin协同程序流API是否有Rx Subject这样的桥接工具?

Kotlin协同程序流API是否有Rx Subject这样的桥接工具?,kotlin,kotlin-coroutines,Kotlin,Kotlin Coroutines,Channel()Channel具有发送和接收两种方法,使其像一个桥接器或代理,在较新的FlowAPI中有什么等效方法 很多Channel功能都被弃用了,我们应该从现在开始完全避免Channel吗?或者Channel对Flow对我们来说同样重要 目前,Flow不支持与RxSubject相同的功能,因为它代表一个冷的数据流(即,您不能将值从流的构建器外部发布到流)。 与Rx主题最接近的模拟是广播频道,因为它支持多个接收器(而频道只允许有一个接收器)。 大多数Channel流方法,如map、flat

Channel()
Channel
具有发送和接收两种方法,使其像一个桥接器或代理,在较新的
Flow
API中有什么等效方法

  • 很多
    Channel
    功能都被弃用了,我们应该从现在开始完全避免
    Channel
    吗?或者
    Channel
    Flow
    对我们来说同样重要


  • 目前,
    Flow
    不支持与Rx
    Subject
    相同的功能,因为它代表一个冷的数据流(即,您不能将值从流的构建器外部发布到流)。 与Rx
    主题
    最接近的模拟是
    广播频道
    ,因为它支持多个接收器(而
    频道
    只允许有一个接收器)。
    大多数
    Channel
    流方法,如
    map
    flatMap
    等,都被弃用为
    Flow
    流方法。但相反,您可以使用
    BroadcastChannel#asFlow()
    Channel#consumerasflow()将您的
    频道
    表示为
    Flow
    方法。

    所以
    频道
    还没有完全放弃,只有它的操作符被弃用,
    频道
    频道
    本身的生成器方法在将来仍然可用?我所需要的就是将
    频道
    转换为
    ,继续使用
    映射
    之类的操作符!事实上,我认为在可预见的将来,
    Channel
    类本身不会被弃用,因为它们用于在
    Flow
    之间进行内部通信。例如,尝试查看一些
    Flow
    方法,如
    debounce
    ,您将看到通道在内部使用ode>PRODUCT
    方法在那里创建了一个单独的协程,它从外部
    收集数据,然后用于执行
    去抖动
    逻辑。非常感谢!我注意到
    方法逻辑中也使用了
    通道
    。有些时候我认为这是一件非常糟糕的事情,因为almos它的所有方法都突然被弃用了。。。