因此,我正在从事一个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?