function
stable
Branch out the source Observable values as a nested Observable with each nested Observable emitting at most windowSize
values.
windowCount<T>(windowSize: number, startWindowEvery: number = 0): OperatorFunction<T, Observable<T>>
windowSize | The maximum number of values emitted by each window. |
startWindowEvery | Optional. Default is Interval at which to start a new window. For example if |
OperatorFunction<T, Observable<T>>
: An Observable of windows, which in turn are Observable of values.
It's like bufferCount
, but emits a nested Observable instead of an array.
Returns an Observable that emits windows of items it collects from the source Observable. The output Observable emits windows every startWindowEvery
items, each containing no more than windowSize
items. When the source Observable completes or encounters an error, the output Observable emits the current window and propagates the notification from the source Observable. If startWindowEvery
is not provided, then new windows are started immediately at the start of the source and when each window completes with size windowSize
.
Ignore every 3rd click event, starting from the first one
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));
Ignore every 3rd click event, starting from the third one
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));
© 2015–2018 Google, Inc., Netflix, Inc., Microsoft Corp. and contributors.
Code licensed under an Apache-2.0 License. Documentation licensed under CC BY 4.0.
https://rxjs.dev/api/operators/windowCount