RxJava过滤操作符 filter

来源:互联网 发布:vb picturebox 清空 编辑:程序博客网 时间:2024/05/29 21:31

filter操作符是对源observable产生的结果自定义规则进行过滤,只有满足条件的结果才会提交给订阅者:

官方流程图:


.filter(new Fuc1<t1,Boolean>(){

    @override

   public Boolean call(t1 t)

    {

     return false;

    }

}

call的返回值为Bool类型,决定了是否将结果输出给订阅者:

 Observable.interval(1, TimeUnit.SECONDS).take(10).filter(new Func1<Long, Boolean>() {            @Override            public Boolean call(Long aLong) {                return aLong > 5;            }        }).subscribe(new Action1<Long>() {            @Override            public void call(Long aLong) {                LogUtils.d("------->call()" + aLong);            }        });
结果:
2-27 14:20:26.610 2425-2825/com.rxandroid.test1 D/----->: ------->call()602-27 14:20:27.610 2425-2825/com.rxandroid.test1 D/----->: ------->call()702-27 14:20:28.610 2425-2825/com.rxandroid.test1 D/----->: ------->call()802-27 14:20:29.610 2425-2825/com.rxandroid.test1 D/----->: ------->call()9

3 1
原创粉丝点击