RXJava 1.* 中的 flatmap 操作符例子

例子:

Integer[] values = {1, 2, 3, 4, 5}; 
List<Integer> list = Arrays.asList(values); 

Observable.from(list).flatMap(new Func1<Integer, Observable<Integer>>(){
    @Override
    public Observable<Integer> call(Integer t) {
        Integer[] nums = {t, t + t, t * t};
        return Observable.from(nums);
    }
    
}).subscribe((i) -> {System.out.println("what I get is: " + i);});

与map 操作符的主要区别是: map 只是输入一个event,返回另外一个event,flatmap 输入一个event,先返回一个Observable,然后这些返回的Observables 在merge到一个Observable 里面去

标签: none

添加新评论