function
stable
Returns an Observable that emits the single item emitted by the source Observable that matches a specified predicate, if that Observable emits one such item. If the source Observable emits more than one such item or no items, notify of an IllegalArgumentException or NoSuchElementException respectively. If the source Observable emits items but none match the specified predicate then undefined
is emitted.
single<T>(predicate?: (value: T, index: number, source: Observable<T>) => boolean): MonoTypeOperatorFunction<T>
predicate | Optional. Default is A predicate function to evaluate items emitted by the source Observable. |
MonoTypeOperatorFunction<T>
: An Observable that emits the single item emitted by the source Observable that matches the predicate or undefined
when no items match.
EmptyError
Delivers an EmptyError to the Observer's error
callback if the Observable completes before any next
notification was sent.
Like first
, but emit with error notification if there is more than one value.
emits 'error'
import { range } from 'rxjs'; import { single } from 'rxjs/operators'; const numbers = range(1,5).pipe(single()); numbers.subscribe(x => console.log('never get called'), e => console.log('error')); // result // 'error'
emits 'undefined'
import { range } from 'rxjs'; import { single } from 'rxjs/operators'; const numbers = range(1,5).pipe(single(x => x === 10)); numbers.subscribe(x => console.log(x)); // result // 'undefined'
© 2015–2018 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/single