一、描述
丢弃原始Observable发射的数据,直到第二个Observable发射了一项数据。
SkipUntil订阅原始的Observable,但是忽略它的发射物,直到第二个Observable发射了一项数据那一刻,它开始发射原始Observable。
RxJava中对应的是skipUntil,它默认不在任何特定的调度器上执行。
二、示意图
三、示例代码
1 | Observable observable1 = Observable.interval(1000, TimeUnit.MILLISECONDS).take(5); |
四、运行结果
1 | onNext: 2 |
observable1
每隔1秒发一个数据(第1秒时发射0,第2秒时发射1),但是skipUntil
并不会把数据发射出来;- 直到
observable2
在2.5秒的时候发射了第1个数据; skipUntil
才将observable1
后续的所有数据发射出来(2、3、4和完成事件)。
五、参考资料
PS:欢迎关注 SherlockShi 个人博客