【问题标题】:How to emit items from list with delay between each item?如何在每个项目之间延迟从列表中发出项目?
【发布时间】:2016-10-26 19:22:57
【问题描述】:

我想从列表中发射项目,并且在每个发射之间我想要延迟。我试过这个:

final Subscription subscription = Observable.from(listOfItems)
    .delay(2000, TimeUnit.MILLISECONDS)
    .subscribe(new Subscriber<String>() {
        @Override
        public void onCompleted() {

        }

        @Override
        public void onError(Throwable e) {

        }

        @Override
        public void onNext(String sss) {
        }
    });

但它只是延迟发射的开始,而不是每个项目的发射。

【问题讨论】:

    标签: list delay rx-java


    【解决方案1】:

    你可以这样做:

    List<Integer> listOfItems = Arrays.asList(1, 2, 3);
            Observable.from(listOfItems)
                    .zipWith(Observable.interval(2, TimeUnit.SECONDS), (item, notUsed) -> item)
                    .subscribe(System.out::println);
    

    如果你想在第一次发射之前延迟使用Observable.interval(initialDelay, delay, TimeUnit)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-26
      • 2020-01-30
      • 1970-01-01
      • 1970-01-01
      • 2017-02-07
      • 1970-01-01
      • 2019-10-29
      • 1970-01-01
      相关资源
      最近更新 更多