defaultIfEmpty

Emite el valor proporcionado si el Observable fuente se completa sin emitir ningún valor. Si no, refleja al Observable fuente

chevron-rightSignaturahashtag

Firma

defaultIfEmpty<T, R>(defaultValue: R = null): OperatorFunction<T, T | R>

Parámetros

Retorna

OperatorFunction<T, T | R>: Un Observable que puede emitir el valor por defecto especificado si el Observable fuente no emite ningún valor, o los valores emitidos por el Observable fuente.

Descripción

Si el Observable fuente está vacío, este operador emitirá un valor por defecto.

Diagrama de canicas del operador defaultIfEmpty

defaultIfEmpty emite los valores emitidos por el Observable fuente o un valor por defecto en el caso de que el Observable fuente esté vacío (se completa sin haber emitido ningún valor next.)

Ejemplos

Como el Observable está vacío, se emitirá el valor por defecto

StackBlitzarrow-up-right

import { defaultIfEmpty } from "rxjs/operators";
import { EMPTY } from "rxjs";

const empty$ = EMPTY;

empty$.pipe(defaultIfEmpty("La respuesta es 42")).subscribe(console.log);
// Salida: La respuesta es 42

Si no se presiona ninguna tecla en 4 segundos, se emitirá el valor de la tecla por defecto

StackBlitzarrow-up-right

Ejemplo de la documentación oficial

Si en 5 segundos no se hace ningún click, se emitirá el mensaje "Ningún click"

Recursos adicionales

Source codearrow-up-right

Documentación oficial en inglésarrow-up-right

Last updated