过滤操作 - TakeLast
优质
小牛编辑
139浏览
2023-12-01
TakeLast
发射Observable发射的最后N项数据
使用TakeLast
操作符修改原始Observable,你可以只发射Observable’发射的后N项数据,忽略前面的数据。
taskLast.n
使用takeLast
操作符,你可以只发射原始Observable发射的后N项数据,忽略之前的数据。注意:这会延迟原始Observable发射的任何数据项,直到它全部完成。
takeLast
的这个变体默认不在任何特定的调度器上执行。
- Javadoc: takeLast(int))
takeLast.t
还有一个takeLast
变体接受一个时长而不是数量参数。它会发射在原始Observable的生命周期内最后一段时间内发射的数据。时长和时间单位通过参数指定。
注意:这会延迟原始Observable发射的任何数据项,直到它全部完成。
takeLast
的这个变体默认在computation
调度器上执行,但是你可以使用第三个参数指定其它的调度器。
takeLastBuffer
还有一个操作符叫takeLastBuffer
,它和takeLast
类似,,唯一的不同是它把所有的数据项收集到一个List
再发射,而不是依次发射一个。
- Javadoc: takeLastBuffer(int))
- Javadoc: takeLastBuffer(long,TimeUnit))
- Javadoc: takeLastBuffer(long,TimeUnit,Scheduler))
- Javadoc: takeLastBuffer(int,long,TimeUnit))
- Javadoc: takeLastBuffer(int,long,TimeUnit,Scheduler))