微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在缓冲区上打印元素,Flowable rxJava

如何解决在缓冲区上打印元素,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 举报,一经查实,本站将立刻删除。