sampleTime

function stable

Emits the most recently emitted value from the source Observable within periodic time intervals.

sampleTime<T>(period: number, scheduler: SchedulerLike = asyncScheduler): MonoTypeOperatorFunction<T>

Parameters

period

The sampling period expressed in milliseconds or the time unit determined internally by the optional scheduler.

scheduler

Optional. Default is asyncScheduler.

The SchedulerLike to use for managing the timers that handle the sampling.

Returns

MonoTypeOperatorFunction<T>: A function that returns an Observable that emits the results of sampling the values emitted by the source Observable at the specified time interval.

Description

Samples the source Observable at periodic time intervals, emitting what it samples.

sampleTime marble diagram

sampleTime periodically looks at the source Observable and emits whichever value it has most recently emitted since the previous sampling, unless the source has not emitted anything since the previous sampling. The sampling happens periodically in time every period milliseconds (or the time unit defined by the optional scheduler argument). The sampling starts as soon as the output Observable is subscribed.

Example

Every second, emit the most recent click at most once

import { fromEvent } from 'rxjs';
import { sampleTime } from 'rxjs/operators';

const clicks = fromEvent(document, 'click');
const result = clicks.pipe(sampleTime(1000));
result.subscribe(x => console.log(x));

See Also

© 2015–2021 Google, Inc., Netflix, Inc., Microsoft Corp. and contributors.
Code licensed under an Apache-2.0 License. Documentation licensed under CC BY 4.0.
https://rxjs.dev/api/operators/sampleTime