bufferCount
function stable operator
Буферизует значения источника Observable до тех пор, пока размер не достигнет максимального значения bufferSize.
bufferCount<T>(bufferSize: number, startBufferEvery: number = null): OperatorFunction<T, T[]>
Параметры
bufferSize | number | Максимальный размер буфера, который будет выпущен. |
startBufferEvery | number | Необязательно. По умолчанию Интервал, по истечении которого начинается новый буфер. Например, если |
Возвращаемое значение
OperatorFunction<T, T[]>: функция, которая возвращает Observable массивов буферизованных значений.
Описание
Собирает значения из прошлого как массив и выпускает этот массив только тогда, когда его размер достигает bufferSize.
Буферизует определенное количество значений из источника Observable, затем выпускает буфер и очищает его, начиная новый буфер через каждые startBufferEvery значений. Если startBufferEvery не указано или равно null, новые буферы начинаются сразу в начале источника и при закрытии каждого буфера и его выпуске.
Примеры
Выпустить последние два события клика как массив
import { fromEvent, bufferCount } from 'rxjs';
const clicks = fromEvent(document, 'click');
const buffered = clicks.pipe(bufferCount(2));
buffered.subscribe(x => console.log(x)); При каждом клике выпускать последние два события клика как массив
import { fromEvent, bufferCount } from 'rxjs';
const clicks = fromEvent(document, 'click');
const buffered = clicks.pipe(bufferCount(2, 1));
buffered.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/bufferCount