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