Skip to content

Latest commit

 

History

History
41 lines (29 loc) · 1.48 KB

bufferwhen.md

File metadata and controls

41 lines (29 loc) · 1.48 KB

bufferWhen

signature: bufferWhen(closingSelector: function): Observable

Collect all values until closing selector emits, emit buffered values.

Examples

Example 1: Emit buffer based on interval

( StackBlitz | jsBin | jsFiddle )

import { interval } from 'rxjs/observable/interval';
import { bufferWhen } from 'rxjs/operators';

//emit value every 1 second
const oneSecondInterval = interval(1000);
//return an observable that emits value every 5 seconds
const fiveSecondInterval = () => interval(5000);
//every five seconds, emit buffered values
const bufferWhenExample = oneSecondInterval.pipe(bufferWhen(fiveSecondInterval));
//log values
//ex. output: [0,1,2,3]...[4,5,6,7,8]
const subscribe = bufferWhenExample.subscribe(val =>
  console.log('Emitted Buffer: ', val)
);

Additional Resources


📁 Source Code: https://github.com/ReactiveX/rxjs/blob/master/src/internal/operators/bufferWhen.ts