【发布时间】:2017-11-07 11:48:11
【问题描述】:
我看到了这个问题here。 这是关于实现每个发射项目的延迟。这是基于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。
该评论是我想要实现的。所以我的源 observable 以比间隔更慢(有时更快)的速率发出项目。并且 observable 的发射是永无止境的。
===
所以基本上我希望 hot observables 有最小的延迟。
例如,如果我想要 400 毫秒的最小延迟并且我有这种可观察的发射率:
X1-100ms延迟-X2-200ms延迟-X3-600ms延迟-X4-20000ms延迟-X5-...
我希望它屈服:
X1-400ms 延迟-X2-400ms 延迟-X3-600ms 延迟-X4-20000ms 延迟-X5-...
任何人有任何想法来实现这一目标?
【问题讨论】: