How to handle error states with LiveData?

后端 未结 7 600
暗喜
暗喜 2020-12-07 14:10

The new LiveData can be used as a replacement for RxJava\'s observables in some scenarios. However, unlike Observable, LiveData has no callback for

7条回答
  •  -上瘾入骨i
    2020-12-07 14:47

    I have built a movie search app here in which I have used to different LiveData objects, one for the successful response from the network and one for the unsuccessful:

    private val resultListObservable = MutableLiveData>()
    private val resultListErrorObservable = MutableLiveData()
    
    fun findAddress(address: String) {
        mainModel.fetchAddress(address)!!.subscribeOn(schedulersWrapper.io()).observeOn(schedulersWrapper.main()).subscribeWith(object : DisposableSingleObserver?>() {
            override fun onSuccess(t: List) {
                entityList = t
                resultListObservable.postValue(fetchItemTextFrom(t))
            }
    
            override fun onError(e: Throwable) {
                resultListErrorObservable.postValue(e as HttpException)
            }
        })
    }
    

提交回复
热议问题