You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
1.4 KiB
35 lines
1.4 KiB
import { Observable } from '../Observable'; |
|
import { OperatorFunction } from '../interfaces'; |
|
/** |
|
* Buffers the source Observable values until `closingNotifier` emits. |
|
* |
|
* <span class="informal">Collects values from the past as an array, and emits |
|
* that array only when another Observable emits.</span> |
|
* |
|
* <img src="./img/buffer.png" width="100%"> |
|
* |
|
* 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 <caption>On every click, emit array of most recent interval events</caption> |
|
* var clicks = Rx.Observable.fromEvent(document, 'click'); |
|
* var interval = Rx.Observable.interval(1000); |
|
* var buffered = interval.buffer(clicks); |
|
* buffered.subscribe(x => console.log(x)); |
|
* |
|
* @see {@link bufferCount} |
|
* @see {@link bufferTime} |
|
* @see {@link bufferToggle} |
|
* @see {@link bufferWhen} |
|
* @see {@link window} |
|
* |
|
* @param {Observable<any>} closingNotifier An Observable that signals the |
|
* buffer to be emitted on the output Observable. |
|
* @return {Observable<T[]>} An Observable of buffers, which are arrays of |
|
* values. |
|
* @method buffer |
|
* @owner Observable |
|
*/ |
|
export declare function buffer<T>(closingNotifier: Observable<any>): OperatorFunction<T, T[]>;
|
|
|