goldenbearkin
goldenbearkin

Reputation: 546

What is the difference between mergeMap and mergeMapTo?

In rxjs5 doc, it mentions 'To reduce polymorphism and get better performance out of operators, some operators have been split into more than one operator'. What does it actually mean and how to use the mergeMapTo operator?

Upvotes: 4

Views: 5466

Answers (1)

rafaelbiten
rafaelbiten

Reputation: 6240

From the docs, mergeMapTo:

It's like mergeMap, but maps each value always to the same inner Observable.

I see mergeMapTo as a shortcut to always output the same value. mergeMapTo doesn't care about the source value.

Also from the docs:

Maps each source value to the given Observable innerObservable regardless of the source value, and then merges those resulting Observables into one single Observable, which is the output Observable.

You'll see that mergeMap takes a function while mergeMapTo takes a value:

An example with mergeMap (we're transforming values):

Rx.Observable.of(1, 2, 3).mergeMap(x =>
  Rx.Observable.interval(1000).map(i => x+i)
);

While using mergeMapTo we can take values from a stream and always output the same value (also transforming, but always to the same value):

Rx.Observable.of(1, 2, 3).mergeMapTo(10);

Upvotes: 6

Related Questions