elementAt
Emite el valor que esté en la índice especificado en la secuencia de emisiones del Observable fuente
Descripción
Emite únicamente el valor i-ésimo, y se completa.
elementAt
retorna un Observable que emite el elemento en la posición indicada por el índice, o un valor por defecto si el índice proporcionado está fuera de rango y se proporciona dicho valor por defecto. En el caso de que no se proporcione, el Observable resultante emitirá un error ArgumentOutOfRangeError
. s
Ejemplos
Emitir la segunda emisión del Observable fuente
import { of } from "rxjs";
import { elementAt } from "rxjs/operators";
const fruit$ = of("Cereza", "Fresa", "Arándano");
fruit$.pipe(elementAt(1)).subscribe(console.log);
// Salida: Fresa
Si no se encuentra el índice y no se proporciona un valor por defecto, se lanza un error
import { of } from "rxjs";
import { elementAt } from "rxjs/operators";
const fruit$ = of("Cereza", "Fresa", "Arándano");
// Si no se encuentra el índice y no se proporciona un valor por defecto, se lanza un error
fruit$.pipe(elementAt(5)).subscribe(console.log, console.error);
// Salida: (error) Error: argument out of range
Proporcionar un valor por defecto para que, si no se encuentra el índice especificado, no se lance un error
import { of } from "rxjs";
import { elementAt } from "rxjs/operators";
const defaultFruit = "Mora";
const fruit$ = of("Cereza", "Fresa", "Arándano");
// Proporcionar un valor por defecto para que, si no se encuentra el índice especificado, no se lance un error
fruit$.pipe(elementAt(5, defaultFruit)).subscribe(console.log, console.error);
// Salida: Mora
Ejemplo de la documentación oficial
Emitir solo el tercer evento click
import { fromEvent } from "rxjs";
import { elementAt } from "rxjs/operators";
const clicks = fromEvent(document, "click");
const result = clicks.pipe(elementAt(2));
result.subscribe((x) => console.log(x));
// Salida:
// click 1 = nada
// click 2 = nada
// click 3 = objeto MouseEvent
Recursos adicionales
Last updated