1、作用
- 通过设置函数,判断被观察者(
Observable
)发送的事件是否符合条件
2、类型
3、详解
3.1 all()----- 见rxdocs.pdf第192页
作用:判断发送的每项数据是否都满足 设置的函数条件
public static void all() { Observable.just(1, 2, 3, 4, 5, 10) .all(new Predicate<Integer>() { @Override public boolean test(Integer integer) throws Exception { return integer >= 10; } }) .subscribe(new SingleObserver<Boolean>() { @Override public void onSubscribe(Disposable d) { Log.d(TAG, "onSubscribe"); } @Override public void onSuccess(Boolean value) { Log.d(TAG, "onSuccess: value = " + value); } @Override public void onError(Throwable e) { Log.d(TAG, "onError: " + e.toString()); } }); }
输出:
08-09 19:56:20.782 4775 4775 D Operation: onSubscribe 08-09 19:56:20.782 4775 4775 D Operation: onSuccess: value = false
3.2 takeWhile()----- 见rxdocs.pdf第201页
作用:发射Observable发射的数据,直到一个指定的条件不成立
public static void takeWhile() { Observable.just(1, 2, 3, 4, 5, 10) .takeWhile(new Predicate<Integer>() { @Override public boolean test(Integer integer) throws Exception { return integer < 4; } }) .subscribe(new Observer<Integer>() { @Override public void onSubscribe(Disposable d) { Log.d(TAG, "onSubscribe"); } @Override public void onNext(Integer value) { Log.d(TAG, "onNext: value = " + value); } @Override public void onError(Throwable e) { Log.d(TAG, "onError: " + e.toString()); } @Override public void onComplete() { Log.d(TAG, "onComplete"); } }); }
输出:
08-09 20:02:26.093 5131 5131 D Operation: onSubscribe
08-09 20:02:26.093 5131 5131 D Operation: onNext: value = 1
08-09 20:02:26.093 5131 5131 D Operation: onNext: value = 2
08-09 20:02:26.093 5131 5131 D Operation: onNext: value = 3
08-09 20:02:26.093 5131 5131 D Operation: onComplete