throttleTime
function stable operator
Выпускает значение из источника Observable, затем игнорирует последующие значения источника в течение duration миллисекунд, затем повторяет этот процесс.
throttleTime<T>(duration: number, scheduler: SchedulerLike = asyncScheduler, config?: ThrottleConfig): MonoTypeOperatorFunction<T>
Параметры
duration | number | Время ожидания перед выпуском нового значения после выпуска последнего значения, измеряемое в миллисекундах или единице времени, определённой внутренне необязательным |
scheduler | SchedulerLike | Необязательно. По умолчанию По умолчанию |
config | ThrottleConfig | Необязательно. По умолчанию Объект конфигурации для определения поведения По умолчанию |
Возвращает
MonoTypeOperatorFunction<T>: Функция, возвращающая Observable, выполняющую операцию удержания для ограничения скорости выпуска из источника.
Описание
Пропускает одно значение, а затем игнорирует значения источника в течение следующих duration миллисекунд.
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)); См. также
© 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