Spec-Zone.ru › RxJS

bufferCount

function stable operator

Буферизует значения источника Observable до тех пор, пока размер не достигнет максимального значения bufferSize.

bufferCount<T>(bufferSize: number, startBufferEvery: number = null): OperatorFunction<T, T[]>

Параметры

bufferSize number

Максимальный размер буфера, который будет выпущен.

startBufferEvery number

Необязательно. По умолчанию null.

Интервал, по истечении которого начинается новый буфер. Например, если startBufferEvery равно 2, то новый буфер будет начинаться на каждом втором значении из источника. Новый буфер начинается в начале источника по умолчанию.

Возвращаемое значение

OperatorFunction<T, T[]>: функция, которая возвращает Observable массивов буферизованных значений.

Описание

Собирает значения из прошлого как массив и выпускает этот массив только тогда, когда его размер достигает bufferSize.

bufferCount marble diagram

Буферизует определенное количество значений из источника 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));

См. также

  • buffer
  • bufferTime
  • bufferToggle
  • bufferWhen
  • pairwise
  • windowCount

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API