使用Observable.timeinterval()方法时出现错误

时间:2018-08-01 09:39:05

标签: android rx-java2

我正在尝试在可观察的代码中使用时间间隔。

以下是我的代码

 Observable.just(listObj).subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread()).
                flatMap(new Function<List<String>, Observable<String>>() {
                    @Override
                    public Observable<String> apply(List<String> ints) {
                        return Observable.fromIterable(ints);
                    }
                }).toFlowable(BackpressureStrategy.LATEST).subscribe(new Subscriber<String>() {
            @Override
            public void onSubscribe(Subscription s) {
                s.request(Long.MAX_VALUE);
            }

            @Override
            public void onNext(String s) {
                Log.d("Value kathe hai", s);
            }

            @Override
            public void onError(Throwable t) {

            }

            @Override
            public void onComplete() {

            }
        });
    }

尝试使用

Observable.timeinterval(1, TimeUnit.SECONDS, scheduler)

根据使用它的顺序,在不同的地方会出现不同的错误,简而言之,代码不允许我在订阅之后或之前添加此方法。如何在rxJava 2中使用间隔方法。

1 个答案:

答案 0 :(得分:0)

压缩!

List<Integer> list = new ArrayList<Integer>(
    Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
);


Observable.interval(1, TimeUnit.SECONDS, AndroidSchedulers.mainThread())
   .zipWith(list, (time, item) -> item)
   .subscribe(System.out::println);