RxJava如何正确地重新订阅onError

时间:2015-10-11 15:40:00

标签: 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);
                     }
    );
    

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

  • 有没有适当的方法来完成同样的工作?

1 个答案:

答案 0 :(得分:0)

使用retry运算符,请参阅以下答案:

How to terminate an Observable?