我已可观察到的,从很多渠道获得项目:RxJava 2.重试与延迟,同时继续是不同的其他项目
Source { List<Item> data }
来源和项目之间的关系是多到许多和不同来源项目可能会重复自己。项目是应该上传到服务器的实体,服务器不接受重复项目。为了达到这个目的,我将资源合并到他们的ID中,然后将唯一的项目上传到服务器。如下图所示:
Observable.merge(source1(), source2(), source3())
.flatMapIterable(sources -> sources)
.flatMapIterable(source::getItems)
.distinct(item -> item.getId())
.flatMapCompletabale(item -> uploadItem(item))
项目上载能发出一些错误,并就其中一些我应该重试后再次上传项目,并进行其他项目,而“失败”一个正在等待它重试。
如何推迟重试上传“失败”的项目,并继续其他项目,而这一个尝试尝试?
提前致谢!
您好!谢谢您的回答!你能否也请说我如何添加重试次数?像5秒延迟重试3次。 –
我参考的博客提供了示例代码来做到这一点。 –