RxJS audit

2020-10-14 09:46 更新

在另一個 Observable 確定的持續(xù)時間內(nèi)忽略源值,然后從源 Observable 發(fā)出最新值,然后重復(fù)此操作處理。

audit<T>(durationSelector: (value: T) => SubscribableOrPromise<any>): MonoTypeOperatorFunction<T>

參量

durationSelector 功能從源 Observable 接收值,用于計算沉默持續(xù)時間,以可觀察或承諾的形式返回。

returns

MonoTypeOperatorFunction<T>:一個 Observable,執(zhí)行以下操作的速率限制 源排放可觀察到。

描述

就像 auditTime,但是沉默 持續(xù)時間由第二個 Observable 確定。

audit marble diagram

audit與相似 throttle,但從靜音中發(fā)出最后一個值 時間窗口,而不是第一個值。 audit發(fā)出最新值 從源 Observable 到輸出 Observable,只要其內(nèi)部 計時器被禁用,并且在啟用計時器時忽略源值。 最初,計時器被禁用。 第一個來源值一到達(dá), 通過使用調(diào)用 來啟用計時器 durationSelector函數(shù) 源值,該值返回“可觀察的持續(xù)時間”。 持續(xù)時間 Observable 發(fā)出一個值或完成一個值,禁用該計時器,然后 最近的源值在輸出 Observable上發(fā)出,并且此過程 重復(fù)下一個源值。

以每秒最多一次點擊的速度發(fā)出點擊

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));

也可以看看

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號