Spec-Zone.ru › RxJS

buffer

function stable operator

Буферизует значения входного Observable до тех пор, пока closingNotifier не издаст событие.

buffer<T>(closingNotifier: ObservableInput<any>): OperatorFunction<T, T[]>

Параметры

closingNotifier ObservableInput<any>

Объект, который сигнализирует о том, что буфер должен быть издан в выходном Observable.

Возвращает

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

Описание

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

buffer marble diagram

Буферизует значения входного Observable до тех пор, пока указанное closingNotifier ObservableInput (которое внутренне преобразуется в Observable) не издаст значение, в этот момент буфер издаётся в выходном Observable, и внутренне начинается новый буфер, ожидая следующего события от closingNotifier.

Пример

При каждом клике издаётся массив самых последних событий интервала

import { fromEvent, interval, buffer } from 'rxjs';

const clicks = fromEvent(document, 'click');
const intervalEvents = interval(1000);
const buffered = intervalEvents.pipe(buffer(clicks));
buffered.subscribe(x => console.log(x));

См. также

  • bufferCount
  • bufferTime
  • bufferToggle
  • bufferWhen
  • window

© 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/buffer

Spec-Zone.ru

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