【发布时间】:2017-03-20 06:52:01
【问题描述】:
假设我有追随者。
Observable.range(1,1000)
.flatMap(i -> Observable.just(i)
.subscribeOn(Schedulers.computation()
.map(i2 -> calculate(i2))
).subscribe(System.out::println)
在这里,我有一个从 1 到 1000 的 observable,每个数字在不同的线程中使用 calculate()(一个大方法)映射。我需要设置一个超时,直到返回一定数量的项目。
- 假设我有 2 秒的超时时间。
- 我需要订阅 2-50 件商品。(至少要订阅 2 件商品,但不要超过 50 件商品)
- 如果 2 秒内没有发出 2 个项目,则重启超时。
- 说超时内返回10个项目。然后执行其余代码没问题。
如何使用 Rx Java 做到这一点?
【问题讨论】:
标签: java multithreading timeout rx-java