[RxJS] Transformation operator: map and mapTo

时间:2021-11-13 05:35:11

We made our first operator called multiplyBy, which looks a bit useful, but in practice we don't need it because it's too specific: it only does simple multiplication on numbers. In this lesson we will see how the map() operator is useful for any calculation on delivered values.

map:

var foo = Rx.Observable.interval(1000);

/*

foo: ---0---1---2---3--...
map(x => x / 2)
bar: ---0---2---4---6--... */ // map take a function
var bar = foo.map(x => x / 2); bar.subscribe(
function (x) { console.log('next ' + x); },
function (err) { console.log('error ' + err); },
function () { console.log('done'); },
);

mapTo:

var foo = Rx.Observable.interval(1000);

/*

foo: --- 0---1--- 2--- 3--...
mapTo(10)
bar: ---10---10---10---10--... */ // mapTo take a value
var bar = foo.mapTo(10); bar.subscribe(
function (x) { console.log('next ' + x); },
function (err) { console.log('error ' + err); },
function () { console.log('done'); },
);