鉴于以下设置:
我有 2 个存储库:存储库 A和存储库 B,它们都返回实时数据。
我有一个使用这两个存储库的 ViewModel。
我想从存储库 A 中提取一些东西,根据结果我想从存储库 B 中获取一些东西,然后在返回 UI 之前转换结果。
为此,我一直在研究LiveData Transformation类。这些示例显示了结果的单个转换,但是我想要一些类似于链接两个转换的东西。我怎样才能做到这一点?
我尝试过这样设置,但在第二个转换块上出现类型不匹配:
internal val launchStatus: LiveData<String> = Transformations
.map(respositoryA.getData(), { data ->
if (data.isValid){
"stringA"
} else {
//This gives a type mismatch for the entire block
Transformations.map(repositoryB.getData(), {
result -> result.toString()
})
}
})
(另外请让我知道是否有替代/推荐的方法来获取链接这些调用的东西,即从 A 获取一些东西,然后根据 A 的结果从 B 获取一些东西等等)