RxJS debounceTime

2020-10-14 10:01 更新

僅在特定時(shí)間段后才從源中觀察到值 已經(jīng)通過而沒有其他源發(fā)射。

debounceTime<T>(dueTime: number, scheduler: SchedulerLike = async): MonoTypeOperatorFunction<T>

參量

截至日期 超時(shí)時(shí)間(以毫秒為單位)(或時(shí)間 內(nèi)部可選單位 scheduler的窗口的 ) 發(fā)射最新信號(hào)之前等待發(fā)射靜音所需的時(shí)間 源值。
調(diào)度器 可選的。 默認(rèn)值為 async。  該 SchedulerLike用于  管理處理每個(gè)值超時(shí)的計(jì)時(shí)器。

returns

MonoTypeOperatorFunction<T>:一個(gè)可觀察到的延遲排放源的方法 由指定觀察到 dueTime,如果出現(xiàn)可能會(huì)掉落一些值 太頻繁了。

描述

就像 delay,但是最多通過 每次排放爆發(fā)的最新價(jià)值。

debounceTime大理石圖

debounceTime 延遲源 Observable 發(fā)出的值,但下降 如果新值到達(dá)源,則先前未決的延遲排放 可觀察的。 該運(yùn)算符跟蹤來自 source 可觀察到,并且僅在經(jīng)過 后才發(fā)出 dueTime足夠時(shí)間 沒有任何其他值出現(xiàn)在源 Observable 上。 如果是新值 在 之前 dueTime靜音 出現(xiàn),先前的值將被刪除 并且不會(huì)在輸出 Observable 上發(fā)射。

這是一個(gè)限速運(yùn)算符,因?yàn)椴豢赡苡卸鄠€(gè) 在持續(xù)時(shí)間的任何時(shí)間窗口中發(fā)出的值 dueTime,但它也是 類似延遲的運(yùn)算符,因?yàn)檩敵雠欧挪粫?huì)與 他們?cè)趤碓?Observable 上做了。 可選需要 SchedulerLike 的 管理計(jì)時(shí)器。

點(diǎn)擊后發(fā)出最近的點(diǎn)擊

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


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

也可以看看

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

掃描二維碼

下載編程獅App

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

編程獅公眾號(hào)