代码之家  ›  专栏  ›  技术社区  ›  Pritish

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

  •  1
  • Pritish  · 技术社区  · 6 年前

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

    以下是我的代码

     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)
    

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

    1 回复  |  直到 6 年前
        1
  •  0
  •   akarnokd    6 年前

    拉上拉链!

    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);