W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
將源 Observable 值分支為每個嵌套的 Observable 值 嵌套的 Observable 發(fā)射最多 windowSize
值。
windowCount<T>(windowSize: number, startWindowEvery: number = 0): OperatorFunction
<T, Observable
<T>>
windowSize | 每個發(fā)出的最大值數(shù) 窗口。 |
---|---|
startWindowEvery | 可選的。 默認值為 0 。 開始新窗口的時間間隔。 例如,如果 startWindowEvery 為 2 ,則將啟動一個新窗口 來自來源的所有其他值。 一個新的窗口在 默認情況下源的開頭。 |
OperatorFunction<T, Observable<T>>
:可觀察到的窗戶 是可觀察的值。
就像 bufferCount
,但發(fā)出嵌套 可觀察的而不是數(shù)組。
返回一個 Observable,它發(fā)出從源收集到的項目的窗口 可觀察的。 輸出 Observable 每次發(fā)射一個窗口 startWindowEvery
項,每個 最多包含 windowSize
項 項。 當來源 Observable 完成或遇到錯誤,輸出Observable發(fā)出 當前窗口并傳播來自源的通知 可觀察的。 如果 startWindowEvery
未提供,則新窗口是 在源代碼的開始以及每個窗口完成時立即開始 與大小 windowSize
。
從第一個事件開始,忽略每個第3次點擊事件
import { fromEvent } from 'rxjs';
import { windowCount, map, mergeAll, skip } from 'rxjs/operators';
const clicks = fromEvent(document, 'click');
const result = clicks.pipe(
windowCount(3),
map(win => win.pipe(skip(1))), // skip first of every 3 clicks
mergeAll() // flatten the Observable-of-Observables
);
result.subscribe(x => console.log(x));
從第三個點擊事件開始,忽略每個第3次點擊事件
import { fromEvent } from 'rxjs';
import { windowCount, mergeAll } from 'rxjs/operators';
const clicks = fromEvent(document, 'click');
const result = clicks.pipe(
windowCount(2, 3),
mergeAll(), // flatten the Observable-of-Observables
);
result.subscribe(x => console.log(x));
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: