W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
從源 Observable 發(fā)出值,然后忽略后續(xù)源 值(以 為 duration
毫秒 單位),然后重復(fù)此過(guò)程。
throttleTime<T>(duration: number, scheduler: SchedulerLike
= async, config: ThrottleConfig
= defaultThrottleConfig): MonoTypeOperatorFunction
<T>
持續(xù)時(shí)間 | 等待之后再發(fā)射另一個(gè)值的時(shí)間 發(fā)出以毫秒為單位或確定的時(shí)間單位的最后一個(gè)值 內(nèi)部由可選 scheduler 。 |
---|---|
調(diào)度器 | 可選的。 默認(rèn)值為 async 。 該 SchedulerLike 用于 管理處理節(jié)流的計(jì)時(shí)器。 |
配置 | 可選的。 默認(rèn)值為 defaultThrottleConfig 。 一個(gè)配置對(duì)象來(lái)定義 leading 和 trailing 行為。 默認(rèn)為 { leading: true, trailing: false } 。 |
MonoTypeOperatorFunction<T>
:執(zhí)行可進(jìn)行油門(mén)操作的 Observable 限制源頭的排放速率。
讓值通過(guò),然后忽略 接下來(lái)的 duration
毫秒。
throttleTime
在輸出 Observable 上發(fā)出源 Observable 值 禁用其內(nèi)部計(jì)時(shí)器時(shí),并在計(jì)時(shí)器時(shí)忽略源值 已啟用。 最初,計(jì)時(shí)器被禁用。 最早的來(lái)源 值到達(dá),將其轉(zhuǎn)發(fā)到輸出 Observable,然后計(jì)時(shí)器 已啟用。 后 duration
毫秒(或時(shí)間單元確定 在內(nèi)部由可選的 scheduler
)傳遞,計(jì)時(shí)器已禁用, 并對(duì)下一個(gè)源值重復(fù)此過(guò)程。 (可選) SchedulerLike
用于管理計(jì)時(shí)器。
以每秒最多一次點(diǎn)擊的速度發(fā)出點(diǎn)擊
import { fromEvent } from 'rxjs';
import { throttleTime } from 'rxjs/operators';
const clicks = fromEvent(document, 'click');
const result = clicks.pipe(throttleTime(1000));
result.subscribe(x => console.log(x));
以下示例僅發(fā)出在后續(xù)事件中發(fā)生的點(diǎn)擊 上次點(diǎn)擊延遲 400 毫秒。 例如,這可以模擬一個(gè) double 點(diǎn)擊。 它利用 的 trailing
了節(jié)氣門(mén)配置 參數(shù)。
import { fromEvent, asyncScheduler } from 'rxjs';
import { throttleTime, withLatestFrom } from 'rxjs/operators';
// defaultThottleConfig = { leading: true, trailing: false }
const throttleConfig = {
leading: false,
trailing: true
}
const click = fromEvent(document, 'click');
const doubleClick = click.pipe(
throttleTime(400, asyncScheduler, throttleConfig)
);
doubleClick.subscribe((throttleValue: Event) => {
console.log(`Double-clicked! Timestamp: ${throttleValue.timeStamp}`);
});
如果 啟用該 leading
在此示例中 參數(shù),則輸出將是主點(diǎn)擊, 雙擊,但將額外的點(diǎn)擊限制在 400 毫秒內(nèi)。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: