Skip to content
This repository has been archived by the owner on Apr 20, 2018. It is now read-only.

Latest commit

 

History

History
83 lines (68 loc) · 2.89 KB

bufferwithtime.md

File metadata and controls

83 lines (68 loc) · 2.89 KB

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

  1. timeSpan (Number): Length of each buffer (specified as an integer denoting milliseconds).
  2. [timeShift] (Number): Interval between creation of consecutive buffers (specified as an integer denoting milliseconds).
  3. [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:

NPM Packages:

NuGet Packages:

Unit Tests: