iif
signature: iif(condition: () => boolean, trueResult: SubscribableOrPromise = EMPTY, falseResult: SubscribableOrPromise = EMPTY): Observable
iif(condition: () => boolean, trueResult: SubscribableOrPromise = EMPTY, falseResult: SubscribableOrPromise = EMPTY): ObservableSubscribe to first or second observable based on a condition
Examples
Example 1: simple iif
( Stackblitz )
// RxJS v6+
import { iif, of, interval } from 'rxjs';
import { mergeMap } from 'rxjs/operators';
const r$ = of('R');
const x$ = of('X');
interval(1000)
.pipe(mergeMap(v => iif(() => v % 4 === 0, r$, x$)))
.subscribe(console.log);
// output: R, X, X, X, R, X, X, X, etc...Example 2: iif with mouse moves
( Stackblitz )
Example 3: iif with default
( Stackblitz )
Related Recipes
Additional Resources
iif 📰 - Official docs
📁 Source Code: https://github.com/ReactiveX/rxjs/blob/master/src/internal/observable/iif.ts
Last updated