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
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Effettuare il log delle chiamate a function di GPT in ASP.NET Web API
Generare velocemente pagine CRUD in Blazor con QuickGrid
.NET Conference Italia 2024
Testare l'invio dei messaggi con Event Hubs Data Explorer
Creazione di componenti personalizzati in React.js con Tailwind CSS
Estrarre dati randomici da una lista di oggetti in C#
Migliorare la sicurezza dei prompt con Azure AI Studio
Gestire domini wildcard in Azure Container Apps
Gestione dei nomi con le regole @layer in CSS
Eseguire una ricerca avanzata per recuperare le issue di GitHub
Creare un'applicazione React e configurare Tailwind CSS
Paginare i risultati con QuickGrid in Blazor