buffer

Buffers the source Observable values until closingNotifier emits.

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

Parameters

closingNotifier

An Observable that signals the buffer to be emitted on the output Observable.

Returns

OperatorFunction<T, T[]>: An Observable of buffers, which are arrays of values.

Description

Collects values from the past as an array, and emits that array only when another Observable emits.

Buffers the incoming Observable values until the given closingNotifier Observable emits a value, at which point it emits the buffer on the output Observable and starts a new buffer internally, awaiting the next time closingNotifier emits.

Example

On every click, emit array of most recent interval events

import { fromEvent, interval } from 'rxjs'; import { buffer } from 'rxjs/operators'; const clicks = fromEvent(document, 'click'); const interval = interval(1000); const buffered = interval.pipe(buffer(clicks)); buffered.subscribe(x => console.log(x));

See Also