美文网首页
RxAndroid学习笔记4(操作符-转换)

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

作者: 会飞的大象 | 来源:发表于2016-06-15 14:14 被阅读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

  • scan(Func2)



    示例代码:

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.");
        }
    });
  • scan(R,Func2):提供第一次调用的数据R
  1. window
  • window(closingSelector)


  • window(windowOpenings, closingSelector)


  • window(count)


  • window(count, skip)


相关文章

网友评论

      本文标题:RxAndroid学习笔记4(操作符-转换)

      本文链接:https://www.haomeiwen.com/subject/ihollttx.html