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
Fornire parametri ad un Web component HTML
Keynote .NET Conference Italia 2025
Introduzione ai web component HTML
Proteggere l'endpoint dell'agente A2A delle Logic App
Utilizzare l nesting nativo dei CSS
Ridimensionamento automatico input tramite CSS
Creare un agente A2Acon Azure Logic Apps
Conoscere il rendering Server o WebAssembly a runtime in Blazor
Potenziare la ricerca su Cosmos DB con Full Text Search
Selettore CSS :has() e i suoi casi d'uso avanzati
Documentare i servizi REST con Swagger e OpenAPI con .NET 9
Utilizzare WhenEach per processare i risultati di una lista di task


