如果状态为错误并且true
返回val errorVisible = states.asFlowable()
.map { it.status == Status.ERROR }
.flatMap { isError ->
if (isError) call.isEmpty()
else Flowable.just(false)
}
,我需要显示错误视图。
有没有更好的方法来达到这个结果?
call.isEmpty()
Flowable<Boolean>
返回Single<Boolean>
,但可以返回call.isEmpty()
之类的其他内容。
编辑:另一个问题,如果Flowable<Boolean>
返回Flowable<Boolean>
,我如何合并两个流(两个states.isError
-call.isEmpty()
和{{ 1}})并将其映射到一个Flowable<Boolean>
,这是一个条件吗?
答案 0 :(得分:0)
您可以使用when
或if
块:
val errorVisible = states.asFlowable()
.flatMap {
when(it.status) {
Status.ERROR -> call.isEmpty()
else -> Flowable.just(false)
}
}
答案 1 :(得分:0)
也许您可以使用类似的东西
val errorVisible = states.asFlowable()
.onErrorReturn { true }
.flatMap { Flowable.just(it.status == Status.ERROR) }
答案 2 :(得分:0)
您可以打破条件
.flatMap {
if (it.isEmpty()) {
Observable.empty()
} else {
Observable.just(true)
}
}