如何在成功和错误上延迟RxJava订阅?

时间:2018-07-13 13:37:30

标签: android rx-java2

无论错误或成功如何,我都希望在XXXX之前将订阅延迟发送。使用以下代码,延迟仅适用于成功方案。请帮助我,以便它可以始终等待XXXX时间。

serviceRepository.getService()
                           .retry(0)
                           .map(value -> {
                               total = XXXX;
                               return value;
                           })
                           .observeOn(schedulerProvider.mainThread())
                           .delaySubscription(total, TimeUnit.MILLISECONDS)
                           .subscribeWith(return new DisposableSingleObserver<ServiceResponse>() {

                   @Override
                   public void onSuccess(ServiceResponse serviceResponse) {


                   }

                   @Override
                   public void onError(Throwable e) {

                   }
               });

1 个答案:

答案 0 :(得分:1)

delaySubscription调用之前将retry移动。 RxJava运算符向上运行,因此您的延迟适用于重试的原始订阅,但在错误情况下不适用其他订阅,因为重试仅知道上游存在什么。