throwIfEmpty
If the source observable completes without emitting a value, it will emit
an error. The error will be created at that time by the optional
errorFactory
argument, otherwise, the error will be EmptyError.
Example
Throw an error if the document wasn't clicked within 1 second
import { fromEvent, takeUntil, timer, throwIfEmpty } from 'rxjs';
const click$ = fromEvent(document, 'click');
click$.pipe(
takeUntil(timer(1000)),
throwIfEmpty(() => new Error('The document was not clicked within 1 second'))
)
.subscribe({
next() {
console.log('The document was clicked');
},
error(err) {
console.error(err.message);
}
});