问题描述
在 viewmodel 中使用 LiveData,我们像这样使用 switchMap 或 Transformations.map
val recipesList = cuisineType.switchMap { repository.getdisplayRecipes(it.cuisineType).asLiveData() }
使用 StateFlow 执行此操作的最佳方法是什么?我知道我们可以像下面这样使用地图,但是这会返回给我 Flow
val recipeListFlow = cuisineTypestateFlow.map {
repository.getdisplayRecipes(it.cuisineType)
}
解决方法
应该
val recipeListFlow = cuisineTypeStateFlow.flatMapLatest {
repository.getDisplayRecipes(it.cuisineType)
}