Todo RxJS se basa en
Observables.
Definición:
Es un objeto que puede emitir valores. Puede no emitir, emitir sólo uno, o emitir N cantidad de valores.
Declaración:
const obs$ = new Observable<string>();
obs$ - Contiene un signo $ de pesos al final. Indica que la variable es un observable.
Observable<string>(); - Se crea una instancia de Observable, donde entre signos mayor y menor viene el tipo de dato devuelto en el observable. Entre los signos < > se especifica qué es lo que está fluyendo dentro del Observable. Pueden ser textos, numeros, modelos, clases, estructuras de datos, etc. Es muy importante definir qué tipo de dato fluye en el Observable.
Emisión de valores
Esto lo hacemos a través de la función next().
const obs$ = new Observable<string>(subs => {
subs.next("Hola");
subs.next("Mundo");
});
obs$.subscribe(console.log);
subs.next() - Emisión de información.
En el ejemplo, se hacen 2 emisiones a los subscriptores. "Hola" y "Mundo" que son textos.
Las emisiones se realizan siempre y cuando haya al menos un subscriber.
complete()
Este método hará que se detenga la emisión de información. Cada next() después del método complete(), ya no será emitido.
import { Observable } from 'rxjs';
// const obs$ = Observable.create(); También se puede crear así.
const obs$ = new Observable<string>(subs => {
subs.next("Hola");
subs.next("Mundo");
subs.complete();
subs.next("Cruel");
});
obs$.subscribe(console.log);
En este ejemplo, la salida seguirá siendo la misma. La emisión después del complete() se omitirá.
Imagen de Luisella Planeta Leoni en Pixabay

Top comments (0)