RxJava delay for each item of list emitted

后端 未结 15 1823
感情败类
感情败类 2020-11-29 00:14

I\'m struggling to implement something I assumed would be fairly simple in Rx.

I have a list of items, and I want to have each item emitted with a delay.

It

15条回答
  •  醉话见心
    2020-11-29 00:36

    I think you want this:

    Observable.range(1, 5)
                .delay(50, TimeUnit.MILLISECONDS)
                .groupBy(n -> n % 5)
                .flatMap(g -> g.toList())
                .doOnNext(item -> {
                    System.out.println(System.currentTimeMillis() - timeNow);
                    System.out.println(item);
                    System.out.println(" ");
                }).toList().toBlocking().first();
    

    This way it will delay the numbers going into the group rather than delaying the reduced list by 5 seconds.

提交回复
热议问题