Bases para comprender bien RXJS.

0
952

0.Índice.

 

1.Introducción.

Antes de empezar una pequeña pero valiosa información, los observables no son promesa, ni tienen tanto en común cómo podemos llegar a pensar, en primer lugar las promesas son siempre multicast, la resolución y el rechazo de promesas siempre son asíncronos, y por su parte los observables pueden ser asíncronos y pueden ser multicast.

Los observables son una función que toma un observador y devuelve una función. 

Como buena práctica de programación se recomienda usar $ al final de cada variable de rxjs.

2.RXJS.

RXJS, An API for asynchronous programming with observable streams.

El concepto de stream significado de arroyo, pero en un contexto tecnológico se traduce por aquella información que se transmite de forma instantánea, sin interrupción y de forma continua, es decir, no hace falta que se descargue previamente. La TV es un claro caso de streaming, ves las imágenes directamente, sin necesidad de descargarlos antes.

En rxjs podemos crean stream usando

  • Uno o múltiples valores.
  • Array.
  • Eventos.
  • Promesas.
  • Cualquier otra estructura iterable.

Muy bien, entonces para dejar un poco más claras las cosas, stream es el sujeto a observar 🙂

3.Observable.

En la programación reactiva, el observable es capaz de proporcionar un punto por el cual un observador puede suscribirse, lo que le permite al observador reaccionar a cualquier elemento o secuencia de elementos que emita el observable.

3.1. También se puede crear un observable a partir de:

Eventos.

Array

Promise

 

4.Hot vs Cold Observables.

Esto es básicamente sobre donde debe instanciarse el productor.

Cold

Hot

Aquí creamos un Observable para un socket. Cabe recalcar que hasta ahora no se está usando, para ello se necesitaría una suscripción.

Entonces la gran ventaja de hacerlo hot es crear la instancia del productor una sola vez.

5.Observer.

Este es en simples palabras el responsable de manejar lo que nuestro observable emite.Puede ser un objeto con métodos como next,error y complete.

Next: método usado en el observable para emitir, y en el observador para recibir.

Error: gestiona erres en el observable.

Complete: al finalizar la emisión del observable se ejecuta.

 

6.Subscription.

Para escuchar un observable necesitamos subscribirnos a el. Ya que solamente crearlo no nos permite escuchar transmisiones.

 

7.Subjects.

Para comprender mejor que es Subject primero hay que tener claro unicast y multicasting.

Por ejemplo si nos suscribimos a un observable dos veces, no estamos compartiendo el observable original, lo estamos creando dos veces.

Por ello al suscribirnos a un subject (el cual es un observable) si compartimos ese observable.

7.1.Unicast

7.2.Multicasting

8.Operadores.

Si entendiste todo lo demás esto será fácil.

Los operadores son funciones que pueden ser encadenadas en lo que llamamos la cadena o pipeline de operadores y que se sitúan entre medias del Observable  y el Observer con el objetivo de filtrar, transformar o combinar los valores.

Aquí puedes ver ejemplos del uso de operadores.

9.Conclusión.

La programación reactiva es genial, pero puede causar algunos inconvenientes al inicio, por eso es de gran utilidad dominar algunos de sus fundamentos.

Dejar respuesta

Please enter your comment!
Please enter your name here