Buckets:
| import { asyncScheduler } from '../scheduler/async'; | |
| import { audit } from './audit'; | |
| import { timer } from '../observable/timer'; | |
| import { MonoTypeOperatorFunction, SchedulerLike } from '../types'; | |
| /** | |
| * Ignores source values for `duration` milliseconds, then emits the most recent | |
| * value from the source Observable, then repeats this process. | |
| * | |
| * <span class="informal">When it sees a source value, it ignores that plus | |
| * the next ones for `duration` milliseconds, and then it emits the most recent | |
| * value from the source.</span> | |
| * | |
| *  | |
| * | |
| * `auditTime` is similar to `throttleTime`, but emits the last value from the | |
| * silenced time window, instead of the first value. `auditTime` emits the most | |
| * recent value from the source Observable on the output Observable as soon as | |
| * its internal timer becomes disabled, and ignores source values while the | |
| * timer is enabled. Initially, the timer is disabled. As soon as the first | |
| * source value arrives, the timer is enabled. After `duration` milliseconds (or | |
| * the time unit determined internally by the optional `scheduler`) has passed, | |
| * the timer is disabled, then the most recent source value is emitted on the | |
| * output Observable, and this process repeats for the next source value. | |
| * Optionally takes a {@link SchedulerLike} for managing timers. | |
| * | |
| * ## Example | |
| * | |
| * Emit clicks at a rate of at most one click per second | |
| * | |
| * ```ts | |
| * import { fromEvent, auditTime } from 'rxjs'; | |
| * | |
| * const clicks = fromEvent(document, 'click'); | |
| * const result = clicks.pipe(auditTime(1000)); | |
| * result.subscribe(x => console.log(x)); | |
| * ``` | |
| * | |
| * @see {@link audit} | |
| * @see {@link debounceTime} | |
| * @see {@link delay} | |
| * @see {@link sampleTime} | |
| * @see {@link throttleTime} | |
| * | |
| * @param duration Time to wait before emitting the most recent source value, | |
| * measured in milliseconds or the time unit determined internally by the | |
| * optional `scheduler`. | |
| * @param scheduler The {@link SchedulerLike} to use for managing the timers | |
| * that handle the rate-limiting behavior. | |
| * @return A function that returns an Observable that performs rate-limiting of | |
| * emissions from the source Observable. | |
| */ | |
| export function auditTime<T>(duration: number, scheduler: SchedulerLike = asyncScheduler): MonoTypeOperatorFunction<T> { | |
| return audit(() => timer(duration, scheduler)); | |
| } | |
Xet Storage Details
- Size:
- 2.35 kB
- Xet hash:
- ebdc34dda72f04992293910a7bada28defe95b4683df48814248489dfd98373a
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.