Observable es un patrón de diseño de software, donde básicamente tienes algo que observar (Observable) pueden ser eventos de un formulario, un llamada Htttp, etc, nosotros podemos suscribirnos a esos eventos. Otro componente importante es el que observa (Observer) este es el que se suscribe a los eventos y por medio de callbacks captura los eventos que emite el observable, por último tenemos el subject o sujeto que es el que hace que el observable lance los eventos para ser capturados.

Un Observer crea un espacio de ejecución independiente para cada suscriptor que este tenga.

Podemors utilizar los operadores de rxjs para manipular los observables, algo de ellos:

Siempre con los observable nos tenemos que suscribir. OJO

<aside> ⛔ las sucripciones no se cierran solas la simpre tenemos que acabar la suscripcion cuando el ciclo del vida del componente termine.

</aside>

La unica suscripcion que se cierra automaticamente son las de HtmlClient

La suscripciones podemos hacerlas por el componente o directamente en el template si la hacemos por el template se agrega el pipe async y el se encarga de suscripbir y desuscribir las observaciones.

this.ObservableName.pipe(
	catchError((error) => throwError(error)
)

Suscribe vs Async