android - 如何在成功和错误时延迟 RxJava 订阅?
问题描述
无论错误或成功,我都想将订阅延迟到 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) {
}
});
解决方案
在通话delaySubscription
前移动。retry
RxJava 运算符向上操作,因此您的延迟适用于重试的原始订阅,但不适用于错误情况下的附加订阅,因为重试只知道上游存在的内容。
推荐阅读
- android - 应用重启后保持 URI 权限
- python - 如何抓取网络新闻并将段落合并到每篇文章中
- react-native - 道具更新后,reanimated call() 中的函数未更新
- excel - 用公式中的固定范围替换整个列
- javascript - 从 100 倒计时到数字 (N) 并分开偶数和奇数。第一行显示偶数,第二行显示奇数
- .net - 如何在 Visual Studio vb.net 中更改边框颜色和粗细
- excel - 使用矩阵公式合并范围
- javascript - Chrome Extension 仅在再次打开 Popup 后才执行 Javascript
- scala - 如何在流数据和批处理数据之间实现 UNION 操作
- javascript - 模块构建失败找不到模块'@babel/preset-env'