带流的 LiveData 转换

LiveData Transformations with 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 功能。

然而,这目前已被标记为实验性的,因此请谨慎使用。