function stable operator
Returns an Observable that emits only the last item emitted by the source Observable. It optionally takes a predicate function as a parameter, in which case, rather than emitting the last item from the source Observable, the resulting Observable will emit the last item from the source Observable that satisfies the predicate.
last<T, D>(predicate?: (value: T, index: number, source: Observable<T>) => boolean, defaultValue?: D): OperatorFunction<T, T | D> predicate | (value: T, index: number, source: Observable<T>) => boolean | Optional. Default is The condition any source emitted item has to satisfy. |
defaultValue | D | Optional. Default is An optional default value to provide if last |
OperatorFunction<T, T | D>: A function that returns an Observable that emits only the last item satisfying the given condition from the source, or an error notification with an EmptyError object if no such items are emitted.
EmptyError Delivers an EmptyError to the Observer's error callback if the Observable completes before any next notification was sent.
It will emit an error notification if the source completes without notification or one that matches the predicate. It returns the last value or if a predicate is provided last value that matches the predicate. It returns the given default value if no notification is emitted or matches the predicate.
Last alphabet from the sequence
import { from, last } from 'rxjs';
const source = from(['x', 'y', 'z']);
const result = source.pipe(last());
result.subscribe(value => console.log(`Last alphabet: ${ value }`));
// Outputs
// Last alphabet: z Default value when the value in the predicate is not matched
import { from, last } from 'rxjs';
const source = from(['x', 'y', 'z']);
const result = source.pipe(last(char => char === 'a', 'not found'));
result.subscribe(value => console.log(`'a' is ${ value }.`));
// Outputs
// 'a' is not found. last(predicate: BooleanConstructor): OperatorFunction<T, TruthyTypesOf<T>> predicate | BooleanConstructor |
OperatorFunction<T, TruthyTypesOf<T>>
last(predicate: BooleanConstructor, defaultValue: D): OperatorFunction<T, TruthyTypesOf<T> | D> predicate | BooleanConstructor | |
defaultValue | D |
OperatorFunction<T, TruthyTypesOf<T> | D>
last(predicate?: null, defaultValue?: D): OperatorFunction<T, T | D> predicate | null | Optional. Default is |
defaultValue | D | Optional. Default is |
OperatorFunction<T, T | D>
last(predicate: (value: T, index: number, source: Observable<T>) => value is S, defaultValue?: S): OperatorFunction<T, S> predicate | (value: T, index: number, source: Observable<T>) => value is S | |
defaultValue | S | Optional. Default is |
OperatorFunction<T, S>
last(predicate: (value: T, index: number, source: Observable<T>) => boolean, defaultValue?: D): OperatorFunction<T, T | D> predicate | (value: T, index: number, source: Observable<T>) => boolean | |
defaultValue | D | Optional. Default is |
OperatorFunction<T, T | D>
© 2015–2022 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/last