concatWith
function
stable
Emits all of the values from the source observable, then, once it completes, subscribes to each observable source provided, one at a time, emitting all of their values, and not subscribing to the next one until it completes.
concatWith<T, A extends readonly unknown[]>(...otherSources: any[]): OperatorFunction<T, T | A[number]>
Parameters
otherSources | Other observable sources to subscribe to, in sequence, after the original source is complete. |
Returns
OperatorFunction<T, T | A[number]>
: A function that returns an Observable that concatenates subscriptions to the source and provided Observables subscribing to the next only once the current subscription completes.
Description
concat(a$, b$, c$)
is the same as a$.pipe(concatWith(b$, c$))
.
Example
Listen for one mouse click, then listen for all mouse moves.
import { fromEvent } from 'rxjs'; import { concatWith } from 'rxjs/operators'; const clicks$ = fromEvent(document, 'click'); const moves$ = fromEvent(document, 'mousemove'); clicks$.pipe( map(() => 'click'), take(1), concatWith( moves$.pipe( map(() => 'move') ) ) ) .subscribe(x => console.log(x)); // 'click' // 'move' // 'move' // 'move' // ...
© 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/concatWith