windowCount
function stable operator
Разветвляет значения источника Observable в вложенное Observable, при этом каждое вложенное Observable излучает не более windowSize значений.
windowCount<T>(windowSize: number, startWindowEvery: number = 0): OperatorFunction<T, Observable<T>>
Параметры
windowSize | number | Максимальное количество значений, излучаемых каждым окном. |
startWindowEvery | number | Необязательно. По умолчанию Интервал, через который нужно начинать новое окно. Например, если |
Возвращает
OperatorFunction<T, Observable<T>>: Функция, которая возвращает Observable окон, которые в свою очередь являются Observable значений.
Описание
Это похоже на bufferCount, но излучает вложенное Observable вместо массива.
Возвращает Observable, который излучает окна элементов, собранных из Observable источника. Observable вывода излучает окна через каждые startWindowEvery элементов, каждое из которых содержит не более windowSize элементов. Когда источник Observable завершается или сталкивается с ошибкой, Observable вывода излучает текущее окно и распространяет уведомление от источника Observable. Если startWindowEvery не указано, новые окна начинаются сразу в начале источника и при завершении каждого окна размером windowSize.
Примеры
Проигнорировать каждый третий клик мыши, начиная с первого
import { fromEvent, windowCount, map, skip, mergeAll } from 'rxjs';
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)); Проигнорировать каждый третий клик мыши, начиная с третьего
import { fromEvent, windowCount, mergeAll } from 'rxjs';
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–2022 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