使用 Flow 进行实时数据转换

问题描述

我是否阅读了有关 Flow 的更多信息,我开始认为您可以将 mutablelivedata switchMap 模式替换为与 flow 类似的内容

您可以通过实现 this 之类的东西来用流替换 LiveData 观察,但我无法想象如何替换 switchMap 部分。

通过 switchMap 模式,我的意思是:

val mutablelivedata: mutablelivedata<SomeClass> = mutablelivedata()
val liveData: LiveData<SomeOtherClass> = mutablelivedata
    .switchMap {
       //call to repo
    }

有什么等价的吗,还是我完全遗漏了什么?甚至完全错误地思考流程。

解决方法

相当于 Flow.flatMapLatest((T) -> Flow<R>)。他们实际上删除了。 Flow.switchMap 函数支持一些新的 mapLatest 函数。

然而,这暂时被标记为实验性的,所以请谨慎使用。