buffer
function stable operator
Буферизует значения входного Observable до тех пор, пока closingNotifier не издаст событие.
buffer<T>(closingNotifier: ObservableInput<any>): OperatorFunction<T, T[]>
Параметры
closingNotifier | ObservableInput<any> | Объект, который сигнализирует о том, что буфер должен быть издан в выходном Observable. |
Возвращает
OperatorFunction<T, T[]>: Функция, которая возвращает Observable буферов, которые представляют собой массивы значений.
Описание
Собирает значения из прошлого в виде массива и издаёт этот массив только тогда, когда другое Observable издаст событие.
Буферизует значения входного 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)); См. также
© 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