RxJS auditTime

2020-10-14 09:47 更新

忽略源值( duration毫秒),然后發(fā)出最新的來自 Observable 的值,然后重復此過程。

auditTime<T>(duration: number, scheduler: SchedulerLike = async): MonoTypeOperatorFunction<T>

參量

持續(xù)時間 發(fā)出最新信號之前需要等待的時間 值,以毫秒為單位或內(nèi)部確定的時間單位 由可選的 scheduler
調(diào)度器 可選的。 默認值為 async。  該 SchedulerLike用于  管理處理限速行為的計時器。

returns

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

描述

看到源值時,它將忽略該加號 接下來的 duration毫秒(毫秒),然后發(fā)出最新的 來自源的價值。

auditTime marble diagram

auditTime與相似 throttleTime,但從中發(fā)出最后一個值 靜音時間窗口,而不是第一個值。 auditTime發(fā)射最多 來自源Observable的最新值,盡快在輸出 Observable上 其內(nèi)部計時器被禁用,并且在 計時器已啟用。 最初,計時器被禁用。 最早的 源值到達,計時器啟用。 之后 duration毫秒(或 由可選 內(nèi)部確定的時間單位 scheduler) 已過去, 禁用定時器,然后在 輸出可觀察到,并且此過程針對下一個源值重復進行。 (可選) SchedulerLike用于管理計時器。

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

import { fromEvent } from 'rxjs';
import { auditTime } from 'rxjs/operators';


const clicks = fromEvent(document, 'click');
const result = clicks.pipe(auditTime(1000));
result.subscribe(x => console.log(x));

也可以看看

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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號