last
Emite el último valor (o el último valor que cumpla una condición) del el Observable fuente
Descripción
Retorna un Observable que emite el último elemento emitido por el Observable fuente. Opcionalmente recibe una función predicate
como parámetro, en cuyo caso, en lugar de emitir el último elemento del Observable fuente, el Observable resultante emitirá el último elemento del Observable fuente que cumpla la condición especificada.
Ejemplos
Emitir la última cadena de una secuencia
import { last } from "rxjs/operators";
import { from, fromEvent } from "rxjs";
const fruit$ = from(["Cereza", "Fresa", "Arándano"]);
fruit$.pipe(last()).subscribe(console.log);
// Salida: Arándano
Emitir el último elemento que cumpla una condición
import { of } from "rxjs";
import { last } from "rxjs/operators";
const user$ = of(
{ name: "NyaGarcía", age: 23 },
{ name: "zaldih", age: 21 },
{ name: "caballerog", age: 35 },
{ name: "carla.1003", age: 21 }
);
user$.pipe(last(({ age }) => age === 21)).subscribe(console.log);
// Salida: { name: 'carla.1003', age: 21 }
Proporcionar un valor por defecto, que será emitido si ningún elemento cumple la condición
import { last } from "rxjs/operators";
import { from } from "rxjs";
const language$ = from([
{ name: "Haskell", type: "Funcional" },
{ name: "Ruby", type: "Multiparadigma" },
{ name: "Rust", type: "Multiparadigma" },
]);
language$
.pipe(
last(({ type }) => type === "Orientado a objetos", {
name: "Java",
type: "Orientado a objetos",
})
)
.subscribe(console.log);
// Salida: { name: "Java", type: "Orientado a objetos" }
Recursos adicionales
Last updated