[RxJS] Transformation operator: map and mapTo

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‘); },
);
时间: 2024-10-25 04:50:03

[RxJS] Transformation operator: map and mapTo的相关文章

[RxJS] Transformation operator: scan

All of the combination operators take two or more observables as input. These operators may also be alternatively called "vertical combination operators", because of how they work in a marble diagram. Next, we will learn about scan(), which is a

[RxJS] Transformation operator: repeat

Operator repeat() is somewhat similar to retry(), but is not for handling operators. In this lesson we learn how repeat works. var foo = Rx.Observable.interval(500) .zip(Rx.Observable.of('a','b','c','d'), (x,y)=>y); var bar = foo.map(x => x.toUpperC

[RxJS] Transformation operator: buffer, bufferCount, bufferTime

This lesson will teach you about another horizontal combination operator: buffer and its variants. Buffer groups consecutive values together, emitting the output as an array. The buffer variants and their arguments allow to specify when to close the

[RxJS] Transformation operator: bufferToggle, bufferWhen

bufferToggle(open: Observable, () => close: Observalbe : Observalbe<T[]>) bufferToggle take two args, first is opening observable, seconde is a function which return an observable for closing. The closeing observalbe only execute after opening em

[RxJS] Utility operator: do

We just saw map which is a transformation operator. There are a couple of categories of operators, such as filtering, combination, flattening, etc. One of these categories is the utility operators. The most important utility operator is do, useful fo

[RxJS] Connection operator: multicast and connect

We have seen how Subjects are useful for sharing an execution of an RxJS observable to multiple observers. However, this technique requires some laborious setting up. In this lesson we will learn about the multicast() operator which helps solve the s

[RxJS] Combination operator: withLatestFrom

Operator combineLatest is not the only AND-style combinator. In this lesson we will explore withLatestFrom, another AND-style combination operator, and how it works essentially as map() operator, with some combination properties. var foo = Rx.Observa

[RxJS] Creation operator: of()

RxJS is a lot about the so-called "operators". We will learn most of the important operators, one by one. In this lesson, we will see our first creation operator: of(). var foo = Rx.Observable.of(42, 100, 200); // var bar = Rx.Observable.create(

[RxJS] Filtering operator: single, race

Single, race both get only one emit value from the stream. Single(fn): const source = Rx.Observable.from([1,2,3,4,5]); var single = source.single( x => x === 3); /* (12345)| (source) single( x => x === 3) 3| (single) */ var sub = single.subscribe( x