RxJS bufferTime

2020-10-14 09:50 更新

在特定時(shí)間段內(nèi)緩沖源 Observable 值。

bufferTime<T>(bufferTimeSpan: number): OperatorFunction<T, T[]>

參量

bufferTimeSpan 填充每個(gè)緩沖區(qū)數(shù)組的時(shí)間。

returns

OperatorFunction<T, T[]>:可觀察到的緩沖值數(shù)組。

描述

收集過(guò)去的值作為數(shù)組,并發(fā)出 這些陣列會(huì)定期地進(jìn)行。

bufferTime marble diagram

在特定時(shí)間段內(nèi)緩沖來(lái)自源的值 bufferTimeSpan。 除非 可選參數(shù) bufferCreationInterval給出 ,否則它將發(fā)出和 每 重置一次緩沖區(qū) bufferTimeSpan毫秒 。 如果 bufferCreationInterval給出,該運(yùn)算符每次打開緩沖區(qū) bufferCreationInterval毫秒并關(guān)閉(發(fā)出并重置) 每 緩沖一次 bufferTimeSpan毫秒 。 當(dāng)可選參數(shù) maxBufferSize指定后,緩沖區(qū)將在以下時(shí)間關(guān)閉 bufferTimeSpan毫秒或包含 maxBufferSize元素的時(shí)間。

例子

每秒發(fā)出一系列最近的點(diǎn)擊事件

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


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

每 5 秒鐘,從接下來(lái)的 2 秒鐘發(fā)出一次點(diǎn)擊事件

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


const clicks = fromEvent(document, 'click');
const buffered = clicks.pipe(bufferTime(2000, 5000));
buffered.subscribe(x => console.log(x));

超載

bufferTime(bufferTimeSpan: number, scheduler?: SchedulerLike): OperatorFunction<T, T[]>

參量 類型
bufferTimeSpan 類型: number
調(diào)度器 可選的。 默認(rèn)值為 undefined。         類型: SchedulerLike。

returns OperatorFunction<T, T[]>

bufferTime(bufferTimeSpan: number, bufferCreationInterval: number, scheduler?: SchedulerLike): OperatorFunction<T, T[]>

參量 類型
bufferTimeSpan 類型: number。
bufferCreationInterval 類型: number
調(diào)度器 可選的。 默認(rèn)值為 undefined。         類型: SchedulerLike

returns OperatorFunction<T, T[]>

bufferTime(bufferTimeSpan: number, bufferCreationInterval: number, maxBufferSize: number, scheduler?: SchedulerLike): OperatorFunction<T, T[]>

參量 類型
bufferTimeSpan 類型: number
bufferCreationInterval 類型: number
maxBufferSize 類型: number。
調(diào)度器 可選的。 默認(rèn)值為 undefined。類型: SchedulerLike

returns OperatorFunction<T, T[]>

也可以看看

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

掃描二維碼

下載編程獅App

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

編程獅公眾號(hào)