123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- import { OperatorFunction } from '../types';
- import { operate } from '../util/lift';
- import { createOperatorSubscriber } from './OperatorSubscriber';
- import { noop } from '../util/noop';
- /**
- * Ignores all items emitted by the source Observable and only passes calls of `complete` or `error`.
- *
- * 
- *
- * The `ignoreElements` operator suppresses all items emitted by the source Observable,
- * but allows its termination notification (either `error` or `complete`) to pass through unchanged.
- *
- * If you do not care about the items being emitted by an Observable, but you do want to be notified
- * when it completes or when it terminates with an error, you can apply the `ignoreElements` operator
- * to the Observable, which will ensure that it will never call its observers’ `next` handlers.
- *
- * ## Example
- *
- * Ignore all `next` emissions from the source
- *
- * ```ts
- * import { of, ignoreElements } from 'rxjs';
- *
- * of('you', 'talking', 'to', 'me')
- * .pipe(ignoreElements())
- * .subscribe({
- * next: word => console.log(word),
- * error: err => console.log('error:', err),
- * complete: () => console.log('the end'),
- * });
- *
- * // result:
- * // 'the end'
- * ```
- *
- * @return A function that returns an empty Observable that only calls
- * `complete` or `error`, based on which one is called by the source
- * Observable.
- */
- export function ignoreElements(): OperatorFunction<unknown, never> {
- return operate((source, subscriber) => {
- source.subscribe(createOperatorSubscriber(subscriber, noop));
- });
- }
|