RxJS auditTime

2020-10-14 09:47 更新

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

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

參量

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

returns

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

描述

看到源值時(shí),它將忽略該加號(hào) 接下來(lái)的 duration毫秒(毫秒),然后發(fā)出最新的 來(lái)自源的價(jià)值。

auditTime marble diagram

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

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

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)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)