RxAndroid学习笔记4(操作符-转换)

2016-06-15  本文已影响143人  会飞的大象
  1. buffer
  1. flatMap
    flatMap(Func1):Func1将一个源Observable转换成多个Observable,并返回一个Observable,flatMap将返回的结果融合成自己的序列进行发射。
    注意:顺序可能会乱,如果需要保证顺序可以用ConcatMap
    flatMap(Func1,int):第二个参数会限制观察者的最大数量,当达到最大限制时,若有订阅者订阅,会等待其他的观察者结束
    注意:当源Observable触发onError()时,会立即执行onError()

  2. GroupBy
    groupBy(Func1)
    groupBy(Func1,Func1)
    将数据转换成Observables,每一个Observable发射一个子序列


  3. Map
    map(Func1):将源数据通过func1转化后发射其结果


  4. scan

Observable.just(1, 2, 3, 4, 5)
    .scan(new Func2<Integer, Integer, Integer>() {
        @Override
        public Integer call(Integer sum, Integer item) {
            return sum + item;
        }
    }).subscribe(new Subscriber<Integer>() {
        @Override
        public void onNext(Integer item) {
            System.out.println("Next: " + item);
        }

        @Override
        public void onError(Throwable error) {
            System.err.println("Error: " + error.getMessage());
        }

        @Override
        public void onCompleted() {
            System.out.println("Sequence complete.");
        }
    });
  1. window
上一篇 下一篇

猜你喜欢

热点阅读