Spec-Zone.ru › RxJS

throttleTime

function stable operator

Выпускает значение из источника Observable, затем игнорирует последующие значения источника в течение duration миллисекунд, затем повторяет этот процесс.

throttleTime<T>(duration: number, scheduler: SchedulerLike = asyncScheduler, config?: ThrottleConfig): MonoTypeOperatorFunction<T>

Параметры

duration number

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

scheduler SchedulerLike

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

SchedulerLike для управления таймерами, обрабатывающими удержание.

По умолчанию asyncScheduler.

config ThrottleConfig

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

Объект конфигурации для определения поведения leading и trailing.

По умолчанию { leading: true, trailing: false }.

Возвращает

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

Описание

Пропускает одно значение, а затем игнорирует значения источника в течение следующих duration миллисекунд.

throttleTime marble diagram

throttleTime выпускает значения Observable-источника в Observable-выходе, когда его внутренний таймер отключен, и игнорирует значения источника, когда таймер включен. Изначально таймер выключен. Как только придёт первое значение источника, оно перенаправляется в выходной Observable, и таймер включается. По истечении duration миллисекунд (или единицы времени, определённой внутренне необязательным scheduler) таймер выключается, и этот процесс повторяется для следующего значения источника. Необязательно принимает SchedulerLike для управления таймерами.

Примеры

Ограничение частоты кликов

Выпустить клики со скоростью не более одного клика в секунду

import { fromEvent, throttleTime } from 'rxjs';

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

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

См. также

  • auditTime
  • debounceTime
  • delay
  • sampleTime
  • throttle

© 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/throttleTime

Spec-Zone.ru

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