【问题标题】:Observable timeout可观察到的超时
【发布时间】: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


    【解决方案1】:

    这可以在 rx-java 中使用 buffer() 而不是 timeout() 来实现

    【讨论】:

    • 请举例。
    猜你喜欢
    • 2018-05-20
    • 1970-01-01
    • 2022-01-12
    • 1970-01-01
    • 1970-01-01
    • 2018-03-15
    • 1970-01-01
    • 2014-07-22
    • 1970-01-01
    相关资源
    最近更新 更多