Utilizare la libreria subsink per eliminare le sottoscrizioni agli observable in Angular

di , in HTML5, Angular,

Quando ci sottoscriviamo alle notifiche di un Observable, ci viene restituito un oggetto che rappresenta la subscription. Per evitare memory leak e malfunzionamenti, quando non abbiamo più bisogno di ricevere notifiche dobbiamo cancellare la subscription tramite il metodo unsubscribe. Quando abbiamo maschere molto complesse con molte interazioni potremmo dover gestire decine di observable e quindi sottoscriverci a tutti questi.
Grazie alla libreria https://github.com/wardbell/subsink possiamo gestire la cancellazione delle subscription in modo semplice e centralizzato. Subsink mette a disposizione la classe SubSink la quale offre metodi per aggiungere ed eliminare una o più subscription. Questo significa che nel nostro component possiamo creare un'istanza di SubSink, aggiungere le varie subscription tramite il metodo add e poi cancellarle tutte in fase di distruzione del component sfruttando il metodo unsubscribe.

export class MyComponent implements OnInit, OnDestroy {
  subs = new SubSink();

  ngOnInit() {
    this.subs.add(myobservable1$.subscribe(...));
    this.subs.add(myobservable2$.subscribe(...));
    this.subs.add(myobservable3$.subscribe(...));
  }

  ngOnDestroy() {
    this.subs.unsubscribe();
  }
}

Commenti

Visualizza/aggiungi commenti

Utilizare la libreria subsink per eliminare le sottoscrizioni agli observable in Angular (#284)
| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi