• Rx操作符


    Rx操作符

    1、Observable.from()方法,它接收一个集合作为输入,然后每次输出一个元素给subscriber:

    Observable.from("url1", "url2", "url3")  
        .subscribe(url -> System.out.println(url));  

    2、Observable.flatMap()接收一个Observable的输出作为输入,同时输出另外一个Observable。直接看代码:

    query("Hello, world!")  
        .flatMap(new Func1<List<String>, Observable<String>>() {  
            @Override  
            public Observable<String> call(List<String> urls) {  
                return Observable.from(urls);  
            }  
        })  
        .subscribe(url -> System.out.println(url));  

    3、getTitle()返回null如果url不存在。我们不想输出"null",那么我们可以从返回的title列表中过滤掉null值!

    query("Hello, world!")  
        .flatMap(urls -> Observable.from(urls))  
        .flatMap(url -> getTitle(url))  
        .filter(title -> title != null)  
        .subscribe(title -> System.out.println(title));  

    4、take()输出最多指定数量的结果。

      doOnNext()允许我们在每次输出一个元素之前做一些额外的事情,比如这里的保存标题。

    query("Hello, world!")  
        .flatMap(urls -> Observable.from(urls))  
        .flatMap(url -> getTitle(url))  
        .filter(title -> title != null)  
        .take(5)  
        .doOnNext(title -> saveTitle(title))  
        .subscribe(title -> System.out.println(title));  

    参考:http://blog.csdn.net/lzyzsd/article/details/44094895

  • 相关阅读:
    POJ 1673
    POJ 1375
    POJ 1654
    POJ 1039
    POJ 1066
    UVA 10159
    POJ 1410
    POJ 2653
    POJ 2398
    POJ 1556
  • 原文地址:https://www.cnblogs.com/tekkaman/p/7596240.html
Copyright © 2020-2023  润新知