【发布时间】:2018-07-13 22:51:20
【问题描述】:
无论错误或成功,我都想将订阅延迟到 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) {
}
});
【问题讨论】:
-
按时间延迟订阅永远不会失败。我不确定你想在这里实现什么。
retry(0)也不会重试。 -
如果有异常则不会触发map的回调。
-
Anatolii 如果我想延迟成功和错误,那还有什么选择。 XXXX 是动态的,所以我需要有与 map 等价的东西