Spec-Zone.ru › RxJS

sampleTime

function stable operator

Выпускает последнее значение, испущенное источником Observable, в заданные интервалы времени.

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

Параметры

period number

Период дискретизации, выраженный в миллисекундах, или единица времени, определяемая необязательным scheduler.

scheduler SchedulerLike

Необязательно. По умолчанию asyncScheduler.

SchedulerLike для управления таймерами, отвечающими за дискретизацию.

Возвращает

MonoTypeOperatorFunction<T>: Функция, возвращающая Observable, которая выпускает результаты дискретизации значений, испускаемых источником Observable, с заданным интервалом.

Описание

Дискретизирует источник Observable с заданными интервалами времени, испуская дискретизированные значения.

sampleTime marble diagram

sampleTime периодически проверяет источник Observable и выпускает последнее значение, испущенное им с момента предыдущей дискретизации, если источник ничего не выпускал с момента предыдущей дискретизации. Дискретизация происходит периодически через period миллисекунд (или в единице времени, определённой необязательным аргументом scheduler). Дискретизация начинается сразу же после подписки на выход Observable.

Пример

Каждую секунду выпускать последнее нажатие мыши не более одного раза

import { fromEvent, sampleTime } from 'rxjs';

const clicks = fromEvent(document, 'click');
const result = clicks.pipe(sampleTime(1000));

result.subscribe(x => console.log(x));

См. также

  • auditTime
  • debounceTime
  • delay
  • sample
  • throttleTime

© 2015–2022 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API