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

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

See Also

Language-Specific Information:

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.

sample

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.

sample

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.