The ThrottleLatest throttles items from the current Observable by first emitting the next item from upstream, then periodically emitting the latest item (if any) when the specified timeout elapses between them.
Also known as conflate: it is a combination of throttleFirst and sample whereby frequent items are sampled but the first item outside the sampling window will be emitted immediately
If no items were emitted from the upstream during this timeout phase, the next upstream item is emitted immediately and the timeout window starts from then.
Multiple overloads are available which allows specifying if the very last item (if any) should be emitted upon termination, which scheduler to use and to have a callback for the items dropped.
One variant of throttleLatest
that operates at a periodic time
interval that you choose by passing in a TimeUnit
and a quantity of such units as parameters
to throttleLatest
.
This variant of throttleLatest
operates by default on the computation
Scheduler, but you can optionally pass in a Scheduler of your choosing as
a third parameter.
This variant can optionally emit the very last item (if any) when the source terminates.
This variant of throttleLatest
operates by default on the computation
Scheduler, but you can optionally pass in a Scheduler of your choosing as
a third parameter.