switchMapTo
function
stable
Projects each source value to the same Observable which is flattened multiple times with switchMap
in the output Observable.
switchMapTo<T, R, O extends ObservableInput<unknown>>(innerObservable: O, resultSelector?: (outerValue: T, innerValue: ObservedValueOf<O>, outerIndex: number, innerIndex: number) => R): OperatorFunction<T, ObservedValueOf<O> | R>
Parameters
innerObservable | An Observable to replace each value from the source Observable. |
resultSelector | Optional. Default is Type: |
Returns
OperatorFunction<T, ObservedValueOf<O> | R>
: A function that returns an Observable that emits items from the given innerObservable
(and optionally transformed through the deprecated resultSelector
) every time a value is emitted on the source Observable, and taking only the values from the most recently projected inner Observable.
Description
It's like switchMap
, but maps each value always to the same inner Observable.
Maps each source value to the given Observable innerObservable
regardless of the source value, and then flattens those resulting Observables into one single Observable, which is the output Observable. The output Observables emits values only from the most recently emitted instance of innerObservable
.
Example
Rerun an interval Observable on every click event
import { fromEvent, interval } from 'rxjs'; import { switchMapTo } from 'rxjs/operators'; const clicks = fromEvent(document, 'click'); const result = clicks.pipe(switchMapTo(interval(1000))); result.subscribe(x => console.log(x));
Overloads
switchMapTo(observable: O): OperatorFunction<any, ObservedValueOf<O>>
Parameters
observable | Type: |
Returns
OperatorFunction<any, ObservedValueOf<O>>
switchMapTo(observable: O, resultSelector: undefined): OperatorFunction<any, ObservedValueOf<O>>
Deprecation Notes
The resultSelector
parameter will be removed in v8. Use an inner map
instead. Details: https://rxjs.dev/deprecations/resultSelector
Parameters
observable | Type: |
resultSelector | Type: |
Returns
OperatorFunction<any, ObservedValueOf<O>>
switchMapTo(observable: O, resultSelector: (outerValue: T, innerValue: ObservedValueOf<O>, outerIndex: number, innerIndex: number) => R): OperatorFunction<T, R>
Deprecation Notes
The resultSelector
parameter will be removed in v8. Use an inner map
instead. Details: https://rxjs.dev/deprecations/resultSelector
Parameters
observable | Type: |
resultSelector | Type: |
Returns
OperatorFunction<T, R>
See Also
© 2015–2021 Google, Inc., Netflix, Inc., Microsoft Corp. and contributors.
Code licensed under an Apache-2.0 License. Documentation licensed under CC BY 4.0.
https://rxjs.dev/api/operators/switchMapTo