After takeUntil() and takeWhile() function, let‘s have a look on skipWhile() and skilUntil() functions.
SkipWhile(predicate: function): Skip the value if meet the predicate function.
var foo = Rx.Observable.interval(1000); /* --0--1--2--3--4--5--6--7--... skipWhile(x => x < 3).take(3) -----------3--4--5| */ var bar = foo.skipWhile((x)=>{ return x<3; }).take(3); bar.subscribe( function (x) { console.log(‘next ‘ + x); }, function (err) { console.log(‘error ‘ + err); }, function () { console.log(‘done‘); }, ); /* "next 3" "next 4" "next 5" "done" */
skipUntil(Observable): after 3 seconds, click the start button, to start the foo observalbe.
var foo = Rx.Observable.interval(1000); var start$ = Rx.Observable.fromEvent(document.querySelector(‘#start‘), ‘click‘); /* --0--1--2--3--4--5--6--7--... skipUntil(start$) -----------3--4--5| */ var bar = foo.skipUntil(start$); bar.subscribe( function (x) { console.log(‘next ‘ + x); }, function (err) { console.log(‘error ‘ + err); }, function () { console.log(‘done‘); }, ); /* "next 3" "next 4" "next 5" "done" */
时间: 2024-11-05 11:29:29