isEmpty
Emite false si el Observable emite cualquier valor, o emite true si el Observable se completa sin emitir ningún valor
Descripción
Indica si un Observable emite algún valor o no.
isEmpty
transforma un Observable que emite valores en un Observable que emite un solo valor booleano representando si el Observable fuente emite o no valores. En cuanto el Observable fuente emita un valor, isEmpty
emitirá false y se completará. Si el Observable fuente se completa sin haber emitido ningún valor, isEmpty
emitirá true y se completará.
Se podría lograr un efecto similar con el operador count
, pero isEmpty
puede emitir el valor false antes.
Ejemplos
Emite false para un Observable que no está vacío
import { of } from "rxjs";
import { isEmpty } from "rxjs/operators";
const word$ = of("No", "está", "vacío");
word$.pipe(isEmpty()).subscribe(console.log);
// Salida: false
Emite true para Observables vacíos
import { EMPTY, of } from "rxjs";
import { isEmpty } from "rxjs/operators";
const empty$ = EMPTY;
const anotherEmpty$ = of();
empty$.pipe(isEmpty()).subscribe(console.log);
// Salida: true
anotherEmpty$.pipe(isEmpty()).subscribe(console.log);
// Salida: true
Ejemplo de la documentación oficial
Emite false para un Sujeto que no está vacío
import { Subject } from 'rxjs';
import { isEmpty } from 'rxjs/operators';
const source = new Subject<string>();
const result = source.pipe(isEmpty());
source.subscribe(x => console.log(x));
result.subscribe(x => console.log(x));
source.next('a');
source.next('b');
source.next('c');
source.complete();
// Salida: a, false, b, c
Recursos adicionales
Last updated