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.less
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():ide
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:spa
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" */