BehaviourSubject

Il BehaviourSubject è un observable che mantiene in memoria l'ultimo valore che ha emesso e lo consegna immediatamente ai nuovi subscribers appena si sottoscrivono, anche se si sottoscrivono dopo che il BehaviourSubject ha iniziato ad emettere. E' quindi un hot observable, nel senso che produce immediatamente il valore iniziale anche se non ci sono ancora subscribers.

Il BehaviourSubject è stateful.

Subject

Usiamo il Subject quando non siamo interessati ai valori precedenti o al valore corrente dell'observable, ma ci interessa il valore magari a seguito di un click dell'utente o un altro evento.

Il Subject non richiede un valore di default e non emette subito alla sottoscrizione dei subscribers, mentre il BehaviourSubject emette subito ad ogni nuovo subscriber.

ReplaySubject

Il ReplaySubject tiene memoria dei valori precedenti e li passa ad ogni nuovo subscriber.

Operatori

Operatore map

Operatore filter

Operatore takeUntil

Operatore CombineLatestWith

L'operatore CombineLatestWith ascolta diversi observables ed emette un singolo valore.

Operatore switchMap

L'operatore switchMap si sposta su un altro observable e cancella la precedente richiesta iniziandone una nuova.

Operatore mergeMap

L'operatore mergeMp si sposta su un altro observable ma non cancella la precedente richiesta, le competa tutte