【发布时间】:2019-04-17 19:39:31
【问题描述】:
我有以下代码
sealed class AddressUiState
object AddressLoading : AddressUiState()
class AddressLoadedState(val addressResponse: AddressBookResponse) : AddressUiState()
class AddressErrorState(val error: Throwable) : AddressUiState()
我有如下的 ViewModel
class AddressViewModel constructor(private val service: SingleProfileService) : ViewModel() {
fun getDisplayableAddressState(id: String): Observable<out AddressUiState> {
return service.getAddresses(id)
.map { AddressLoadedState(it) }
.startWith(AddressLoading)
.onErrorReturn { AddressErrorState(it) }
.subscribeOn(Schedulers.io())
}
}
我看到编译错误和 onErrorReturn 错误 类型不匹配。必需:AddressLoadedState!找到:地址错误状态 上面的代码有什么问题?
【问题讨论】:
-
请注意
startWith { }不起作用,请使用带有正则括号的startWith()。 -
你应该添加 rxjava 标签。