一、描述
发射Observable发射的数据,直到一个指定的条件不成立。
TakeWhile发射原始Observable,直到你指定的某个条件不成立的那一刻,它停止发射原始Observable,并终止自己的Observable。
RxJava中的takeWhile操作符返回一个镜像原始Observable行为的Observable,直到某一项数据你指定的函数返回false那一刻,这个新的Observable发射onCompleted终止通知。
takeWhile默认不在任何特定的调度器上执行。
二、示意图
三、示例代码
1 | Observable.just(1, 2, 3, 4, 5) |
四、运行结果
1 | onNext: 1 |
- 发射前2个数据的时候,1和2都符合判断条件,即不等于3,
takeWhile
正常将数据发射出去; - 直到发射3的时候,判断条件不成立了,即3是等于3的;
takeWhile
才将后续的所有数据发射出来(3、4、5和完成事件)。
五、参考资料
PS:欢迎关注 SherlockShi 个人博客