Rx.Observable.prototype.bufferWithTime(timeSpan, [timeShift | scheduler], [scheduler])
Projects each element of an observable sequence into zero or more buffers which are produced based on timing information.
Arguments
timeSpan
(Number
): Length of each buffer (specified as an integer denoting milliseconds).[timeShift]
(Number
): Interval between creation of consecutive buffers (specified as an integer denoting milliseconds).[scheduler=Rx.Scheduler.timeout]
(Scheduler
): Scheduler to run buffer timers on. If not specified, the timeout scheduler is used.
Returns
(Observable
): An observable sequence of buffers.
Example
/* Without a skip */
var source = Rx.Observable.interval(100)
.bufferWithTime(500)
.take(3);
var subscription = source.subscribe(
function (x) {
console.log('Next: ' + x.toString());
},
function (err) {
console.log('Error: ' + err);
},
function () {
console.log('Completed');
});
// => Next: 0,1,2,3
// => Next: 4,5,6,7,8
// => Next: 9,10,11,12,13
// => Completed
/* Using a skip */
var source = Rx.Observable.interval(100)
.bufferWithTime(500, 100)
.take(3);
var subscription = source.subscribe(
function (x) {
console.log('Next: ' + x.toString());
},
function (err) {
console.log('Error: ' + err);
},
function () {
console.log('Completed');
});
// => Next: 0,1,2,3,4
// => Next: 0,1,2,3,4,5
// => Next: 2,3,4,5,6
// => Completed
Location
File:
Dist:
Prerequisites:
rx
.time.jsrx.lite.js
| rx.lite.compat.js
NPM Packages:
NuGet Packages:
Unit Tests: