RxJS audit
在另一个 Observable 确定的持续时间内忽略源值,然后从源 Observable 发出最新值,然后重复此操作处理。
audit<T>(durationSelector: (value: T) => SubscribableOrPromise<any>): MonoTypeOperatorFunction<T>
参量
| durationSelector | 功能从源 Observable 接收值,用于计算沉默持续时间,以可观察或承诺的形式返回。 |
|---|
returns
MonoTypeOperatorFunction<T>:一个 Observable,执行以下操作的速率限制 源排放可观察到。
描述
就像 auditTime,但是沉默 持续时间由第二个 Observable 确定。

audit与相似 throttle,但从静音中发出最后一个值 时间窗口,而不是第一个值。 audit发出最新值 从源 Observable 到输出 Observable,只要其内部 计时器被禁用,并且在启用计时器时忽略源值。 最初,计时器被禁用。 第一个来源值一到达, 通过使用调用 来启用计时器 durationSelector函数 源值,该值返回“可观察的持续时间”。 持续时间 Observable 发出一个值或完成一个值,禁用该计时器,然后 最近的源值在输出 Observable上发出,并且此过程 重复下一个源值。
例
以每秒最多一次点击的速度发出点击
import { fromEvent, interval } from 'rxjs';
import { audit } from 'rxjs/operators'
const clicks = fromEvent(document, 'click');
const result = clicks.pipe(audit(ev => interval(1000)));
result.subscribe(x => console.log(x));