defaultIfEmpty
function
stable
Emits a given value if the source Observable completes without emitting any next
value, otherwise mirrors the source Observable.
defaultIfEmpty<T, R>(defaultValue: R): OperatorFunction<T, T | R>
Parameters
defaultValue | The default value used if the source Observable is empty. |
Returns
OperatorFunction<T, T | R>
: A function that returns an Observable that emits either the specified defaultValue
if the source Observable emits no items, or the values emitted by the source Observable.
Description
If the source Observable turns out to be empty, then this operator will emit a default value.
defaultIfEmpty
emits the values emitted by the source Observable or a specified default value if the source Observable is empty (completes without having emitted any next
value).
Example
If no clicks happen in 5 seconds, then emit "no clicks"
import { fromEvent, interval } from 'rxjs'; import { defaultIfEmpty, takeUntil } from 'rxjs/operators'; const clicks = fromEvent(document, 'click'); const clicksBeforeFive = clicks.pipe(takeUntil(interval(5000))); const result = clicksBeforeFive.pipe(defaultIfEmpty('no clicks')); result.subscribe(x => console.log(x));
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/defaultIfEmpty