audit
function stable operator
Игнорирует значения источника в течение периода, определяемого другим Observable, затем испускает последнее значение из источника Observable, затем повторяет этот процесс.
audit<T>(durationSelector: (value: T) => ObservableInput<any>): MonoTypeOperatorFunction<T>
Параметры
durationSelector | (value: T) => ObservableInput<any> | Функция, которая получает значение из источника Observable для вычисления длительности заглушения, возвращаемого как Observable или Promise. |
Возвращает
MonoTypeOperatorFunction<T>: Функция, которая возвращает Observable, который выполняет ограничение скорости испусканий из источника Observable.
Описание
Подобно auditTime, но длительность заглушения определяется вторым Observable.
audit аналогично throttle, но испускает последнее значение из окна заглушения, а не первое. audit испускает последнее значение из источника Observable в выходное Observable, как только его внутренний таймер становится отключённым, и игнорирует значения источника, пока таймер включён. Изначально таймер отключён. Как только появляется первое значение источника, таймер включается, вызывая функцию durationSelector со значением источника, которая возвращает Observable "duration". Когда Observable duration испускает значение, таймер отключается, затем последнее значение источника испускается в выходное Observable, и этот процесс повторяется для следующего значения источника.
Пример
Испускать клики со скоростью не более одного клика в секунду
import { fromEvent, audit, interval } from 'rxjs';
const clicks = fromEvent(document, 'click');
const result = clicks.pipe(audit(ev => interval(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/audit