Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Fin sección 3

Choose a tag to compare

@alesyt0h alesyt0h released this 23 Sep 19:33
· 9 commits to main since this release

Observables

  • Cómo estandar a los nombres de los observables se les añade un $ al final, para poder identificarlos mejor: const obs$
  • Creación de un observable de forma manual:
const obs$ = new Observable( subscriber => {
    subscriber.next(1);
    subscriber.next(2);
    subscriber.next(3);

    subscriber.complete();
});
  • Observer: Pueden ser enviados directamente a un subscriptor, pueden contar con un next, un error y un complete
const observer: Observer<any> = {
    next: value => console.log('[next]:', value),
    error: error => console.warn('[error]:', error),
    complete: () => console.info('[completed]')
}
  • Subscriber: Los subscriptores que cuenten con más de un argumento, es decir next, error y/complete deben de ser enviados como un observer: next: .. - error: ...
  • Unsubscribe: Para poder ejecutar un desuscripción, deberiamos asignar la suscripción a una variable, y despues hacer referencia a esta usando .unsubscribe()
  • Para ejecutar una linea de código en el momento de la desuscripción, en el observer debe de estar incluido un return:
return {
    clearInterval(intervalo);
    console.log('Intervalo Destruido');
}
  • Add: Observables en cadena - Usando por ejemplo: subs1.add(subs2); subs1.add(subs3) al momento de efectuar la desuscripción al subs1, nos desuscribiriamos también del subs2 y del subs3.
  • Subject: Un subject nos permite un casteo múltiple, es decir, la información de un observable va a ser retransmitida de forma exactamente igual para cualquier subscriptor, ejemplo un observable que nos podruce valores random para cada subscriptor, con subject nos devolveria la misma información a todos los suscriptores.
  • Un subject también es un Observer, cuenta con su next, error y complete. Creación de un subject:
const subject$ = new Subject();
const subscription = intervalo$.subscribe(subject$); // El subject se suscribe al observable

// Nos suscribimos al subject
const subs1 = subject$.subscribe(rnd => console.log('Subs 1:', rnd));
const subs2 = subject$.subscribe(rnd => console.log('Subs 2:', rnd));
  • Cold Observable: Cuando la data es producida por el observable en sí mismo.
  • Hot Observable: Cuando la data es producida FUERA del observable.