热观测的java RxJava延迟
我看到了这个问题。 这是关于实现每个发射项目的延迟。这是如何基于accepted answer实现的:
Observable.zip(Observable.range(1, 5)
.groupBy(n -> n % 5)
.flatMap(g -> g.toList()),
Observable.interval(50, TimeUnit.MILLISECONDS),
(obs, timer) -> obs)
.doOnNext(item -> {
System.out.println(System.currentTimeMillis() - timeNow);
System.out.println(item);
System.out.println(" ");
}).toList().toBlocking().first();
在这个问题中,提问者特别要求一组固定的观察值(Observable.range(1,5)),不幸的是,这不是我想要实现的
我也看到了这个comment
这正是我想要实现的。因此,我的source observable以比间隔更慢(有时更快)的速度发射项目。此外,可观测到的辐射是永无止境的
===
所以基本上我希望热观测的延迟最小
例如,如果我想要400毫秒的最小延迟,并且我有这种可观测的发射度:
X1-100ms delay-X2-200ms delay-X3-600ms delay-X4-20000ms delay-X5-...
我想让它屈服:
X1-400ms delay-X2-400ms delay-X3-600ms delay-X4-20000ms delay-X5-...
有人有办法做到这一点吗
# 1 楼答案
你的要求太奇怪了
我能解决,但不优雅。这是我的代码:
和输出