碎碎念:知识点梳理归纳,如果有什么不对的感谢大家指正一起学习!
- 版本为6
- ① take
- ② takeLast
- ③ takeWhile
- ④ takeUntil
① take
- 从上游Observable
"拿" 数据,那够了就完结 - take只有一个
count 参数,限定拿上游数据数量
例:

② takeLast
- 只发出源 Observable 最后发出的的N个值 (N = count)
- 相当于一个可以获取多个数据的last,并且是一次性发出所有数据
- 函数签名: takeWhile(predicate: function(value, index): boolean): Observable
例1:一个完结流的最后一个数据

③ takeWhile
- 发出在源 Observable 中满足 predicate 函数的每个值,并且一旦出现不满足 predicate 的值就立即完成
- 只要当通过给定的条件时才接收源 Observable 的值。 当第一个不满足条件的值出现时(提供的表达式结果为 false),它便完成
例1:只保留小于3的值

例2:第一个就不满足条件被完结

④ takeUntil
- 它发出源 Observable 的值,然后直到第二个 Observable (即 notifier )发出项,它便完成
例1:在第5s第二个Observble开始发出值的时候第一个Observable终结
