There are more operators in the filtering category besides filter(). This lesson will teach how take(), first(), and skip() are simply operators to ignore or pass a certain amount of events from the source Observable.
take(number):
var foo = Rx.Observable.interval(100);/*--0--1--2--3--4--5--6--7- take(5)--0--1--2--3--4*/var bar = foo.take(5);bar.subscribe( function (x) { console.log('next ' + x); }, function (err) { console.log('error ' + err); }, function () { console.log('done'); },); /** "next 0""next 1""next 2""next 3""next 4""done" */
first():
var foo = Rx.Observable.interval(100);/*--0--1--2--3--4--5--6--7- first()--0*/var bar = foo.first();bar.subscribe( function (x) { console.log('next ' + x); }, function (err) { console.log('error ' + err); }, function () { console.log('done'); },); /** "next 0""done" */
skip(number): different with take(), it skip the first number of item, and show the rest:
var foo = Rx.Observable.interval(100);/*--0--1--2--3--4--5--6--7 skip(5).take(3)-----------------5--6--7*/var bar = foo.skip(5).take(3);bar.subscribe( function (x) { console.log('next ' + x); }, function (err) { console.log('error ' + err); }, function () { console.log('done'); },); /** "next 5""next 6""next 7""done" */