我有一个本地模拟仓库,它以Result格式返回结果。结果可能成功,也可能不成功。另外,我有一个视图模型,以及一个包含ListView和TextView的片段。如何在视图模型中正确处理这个结果,并在片段中显示它?也就是说,如果答案成功,我会在ListView中显示列表,如果失败,我显示了带有错误消息的TextView,问题是如何处理Result类型的对象
抱歉问了这个可能很愚蠢的问题,我只是在学习:)
编辑:抱歉,我的问题是如何正确地处理getAuthors函数的结果,当Result.Failure发生时,如何处理?
suspend fun getAuthors(): Result<List<Author>> {
randomDelay()
return randomResult(
listOf(
Author(
authorIds[0],
"Author One"
),
Author(
authorIds[1],
"Author Two"
),
)
)
}
private suspend fun randomDelay() {
delay((100L..1000L).random())
}
private fun <T> randomResult(data: T): Result<T> =
if ((0..100).random() < 5) {
Result.failure(RuntimeException())
} else {
Result.success(data)
}
}
1条答案
按热度按时间toiithl61#
我至少需要一些关于如何使用Result类的示例