debounce
Emits a value from the source Observable only after a particular time span determined by another Observable has passed without another source emission.
Parameters
durationSelector |
A function that receives a value from the source Observable, for computing the timeout duration for each source value, returned as an Observable or a Promise. |
Returns
MonoTypeOperatorFunction<T>
: An Observable that delays the emissions of the source
Observable by the specified duration Observable returned by
durationSelector
, and may drop some values if they occur too frequently.
Description
It's like debounceTime
, but the time span of
emission silence is determined by a second Observable.
debounce
delays values emitted by the source Observable, but drops previous
pending delayed emissions if a new value arrives on the source Observable.
This operator keeps track of the most recent value from the source
Observable, and spawns a duration Observable by calling the
durationSelector
function. The value is emitted only when the duration
Observable emits a value or completes, and if no other value was emitted on
the source Observable since the duration Observable was spawned. If a new
value appears before the duration Observable emits, the previous value will
be dropped and will not be emitted on the output Observable.
Like debounceTime
, this is a rate-limiting operator, and also a
delay-like operator since output emissions do not necessarily occur at the
same time as they did on the source Observable.
Example
Emit the most recent click after a burst of clicks