如何解决在缓冲区上打印元素,Flowable rxJava
如何在使用背压时打印缓冲区中的元素:
Flowable.range(1,1000)
.onBackpressureBuffer(20,() ->{},BackpressureOverflowStrategy.DROP_OLDEST)
.onBackpressureDrop(v -> System.out.println("Dropped.. :" + v))
.delay(0,TimeUnit.MILLISECONDS,Schedulers.io())
.doOnNext(value -> System.out.println("got " + value))
.map(value -> {
try {
TimeUnit.SECONDS.sleep(1);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
return value;
})
.observeOn(Schedulers.newThread(),false,20)
.subscribe(
value -> System.out.println("handled: " + value),Throwable::printstacktrace,() -> System.out.println("completed")
);
sleep(10000);
输出:
得到 1
掉线了.. :21
掉线了.. :22
掉线了.. :23
掉线了.. :24
掉落.. :25
.
.
.
我想要
得到 1
缓冲区中的元素:2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
掉线了.. :21
.
.
.
我不知道这是否可能。
请帮助我是反应式编程的新手
谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。