定期发射Observable最近发射的数据项
Sample操作符定时查看一个Observable,然后发射自上次采样以来它最近发射的数据。
Sample
在某些实现中,有一个ThrottleFirst操作符的功能类似,但不是发射采样期间的最近的数据,而是发射在那段时间内的第一项数据。
ThrottleFirst
RxJava将这个操作符实现为sample和throttleLast。
sample
throttleLast
注意:如果自上次采样以来,原始Observable没有发射任何数据,这个操作返回的Observable在那段时间内也不会发射任何数据。
sample(别名throttleLast)的一个变体按照你参数中指定的时间间隔定时采样(TimeUnit指定时间单位)。
TimeUnit
sample的这个变体默认在computation调度器上执行,但是你可以使用第三个参数指定其它的调度器。
computation
sample的这个变体每当第二个Observable发射一个数据(或者当它终止)时就对原始Observable进行采样。第二个Observable通过参数传递给sample。
sample的这个变体默认不在任何特定的调度器上执行。
throttleFirst与throttleLast/sample不同,在每个采样周期内,它总是发射原始Observable的第一项数据,而不是最近的一项。
throttleFirst
throttleLast/sample
throttleFirst操作符默认在computation调度器上执行,但是你可以使用第三个参数指定其它的调度器。
Copyright© 2013-2020
All Rights Reserved 京ICP备2023019179号-8