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.

throwIfEmpty<T>(errorFactory: (() => any) = defaultErrorFactory): MonoTypeOperatorFunction<T>

Parameters

errorFactory

Optional. Default is defaultErrorFactory.

A factory function called to produce the error to be thrown when the source observable completes without emitting a value.

Returns

MonoTypeOperatorFunction<T>

Description

throwIfEmpty marble diagram

Example

import { fromEvent, timer } from 'rxjs'; import { throwIfEmpty, takeUntil } from 'rxjs/operators'; 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 button was clicked'); }, error(err) { console.error(err); } });