function
stable
Converts a higher-order Observable into a first-order Observable producing values only from the most recent observable sequence
switchAll<T>(): OperatorFunction<ObservableInput<T>, T>
There are no parameters.
OperatorFunction<ObservableInput<T>, T>
Flattens an Observable-of-Observables.
switchAll
subscribes to a source that is an observable of observables, also known as a "higher-order observable" (or Observable<Observable<T>>
). It subscribes to the most recently provided "inner observable" emitted by the source, unsubscribing from any previously subscribed to inner observable, such that only the most recent inner observable may be subscribed to at any point in time. The resulting observable returned by switchAll
will only complete if the source observable completes, and any currently subscribed to inner observable also has completed, if there are any.
Spawn a new interval observable for each click event, but for every new click, cancel the previous interval and subscribe to the new one.
import { fromEvent, interval } from 'rxjs'; import { switchAll, map, tap } from 'rxjs/operators'; const clicks = fromEvent(document, 'click').pipe(tap(() => console.log('click'))); const source = clicks.pipe(map((ev) => interval(1000))); source.pipe( switchAll() ).subscribe(x => console.log(x)); /* Output click 1 2 3 4 ... click 1 2 3 ... click ...
© 2015–2018 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/switchAll