parallel():想知道是否至少有一条轨道完成(转换为Maybe)

时间:2019-01-15 16:05:45

标签: rx-java2

我想从几个可能的位置下载文件。每个位置都有三个可能的结果:

  • 错误(例如超时404)
  • 成功使用新文件(200)
  • 未修改(304)

我要区分:

  • 所有下载失败
  • 所有下载失败或返回未修改
  • 我至少成功了

到目前为止,我的(伪)代码:

Flowable.just(url1, url2...)
.parallel()
.runOn(Schedulers.computation())
.map( ...http download ) 
.filter( ... status code == 200 )
.map( ... parse content ...)
.reduce( ..find newest file..)

我的问题:我无法区分错误并且无法修改。

我想要的结果是

也许给我以下电话:

  • onError:如果所有个网址失败
  • onNext:如果至少一个网址返回了200
  • onComplete:如果至少一个网址 not 返回错误

这可能吗?

0 个答案:

没有答案