defaultIfEmpty
Emits a given value if the source Observable completes without emitting any
next
value, otherwise mirrors the source Observable.
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, takeUntil, interval, defaultIfEmpty } from 'rxjs';
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));