android - RxJava 如何正确地重新订阅 onError

标签 android rx-java

所以我正在开发一个 android 项目,目前,我正在使用 RxJava 从 WS 获取数据并在准备好后立即显示它。我正在使用以下方法,我不确定这是最好的方法。

  • 如果 onError 被调用,重新订阅

        private void getGeneralLiveData(Observable<CurrentGameInfo> obsCurrentGameInfoBySummonerId) {
        /**
         * Get General Live Data
         */
        subscriptions.add(
                obsCurrentGameInfoBySummonerId
                    .doOnSubscribe(() -> currentGameGlobalInfo.enableProgressBar(true))
                    .doOnUnsubscribe(() -> currentGameGlobalInfo.enableProgressBar(false))
                    .subscribe(onNext -> ... ,onError-> {
                            getGeneralLiveData(obsCurrentGameInfoBySummonerId);
                     }
    );
    

这目前正在运行,我得到了我想要的结果。但我不确定这是最好的方法。所以我有两个问题:

  • 是否有任何适当的方法来完成同样的事情?

最佳答案

使用retry运营商,看到这个答案:

How to terminate an Observable?

关于android - RxJava 如何正确地重新订阅 onError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33066830/

相关文章:

android - 如何检查 IP 地址是否可达

java - 简单的相机代码导致装有 Android V 5.01 的 Nexus4 重启

Android - 白标应用

java - 如何使用 Retrofit 2.0 和新的 MockRetrofit 类模拟服务?

java - 在 RxJava 中连接两个大型数据集

java - 如何为proguard编写规则?

android - 自定义 ImageView 切割左右边缘半圆

java - RxJava 过滤后获取下一项

java - 使用 Jersey RxJava 客户端未找到类 rx.Observable 的序列化器

android - Rxjava - 如何正确检查 Maybe/Observable 是否为空?