我有以下函数返回Flow>>
fun getItems() : Flow<Resources<List<Item>?>>
如何从这个函数中获得项目列表?
参考资料类为fllow:
sealed class Resources<out T>(val data: T?) {
class Success<T>(data: T) : Resources<T>(data)
class Error(val throwable: Throwable) : Resources<Nothing>(null)
object Loading : Resources<Nothing>(null)
override fun toString(): String {
return when (this) {
is Success -> "Success: $data"
is Error -> "Error: ${throwable.message}"
is Loading -> "Loading"
}
}
}发布于 2021-12-03 08:14:29
试试下面的代码:
val items: List<Item>? = getItems().first { it is Resources.Success }.data它将从流动中选择第一次Success排放。
请注意,first是一个suspend函数,因此您只能从协同线调用它。
https://stackoverflow.com/questions/70210967
复制相似问题