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
Utilizzare la funzione EF.Parameter per forzare la parametrizzazione di una costante con Entity Framework
Gestione CSS in Blazor con .NET 9
Utilizzare l nesting nativo dei CSS
Ridurre il reflow ottimizzando il CSS
Autenticazione di git tramite Microsoft Entra ID in Azure DevOps
Sfruttare GPT-4o realtime su Azure Open AI per conversazioni vocali
Collegare applicazioni server e client con .NET Aspire
Configurare e gestire sidecar container in Azure App Service
Interagire con Azure DevOps tramite MCP Server
Eseguire query in contemporanea con EF
Rendere i propri workflow e le GitHub Action utilizzate più sicure
Integrare OpenAI tramite Aspire
I più letti di oggi
- Windows 8 Developer Event e Lab - Milano
- Windows 10 Universal Platform Live - Online
- Blazor Conference 2020 Live - Online
- La nostra prova su strada di Windows Phone 7
- Windows 8: ecco la prima preview, con tanto Metro
- Dal 29 febbraio arriva WinRTItalia.com: tutto sullo sviluppo per Windows 8 e Metro
- Microsoft Security Bulletin MS04-040
- Avalon ed Indigo beta1 RC ISO
- Windows Workflow Foundation è alla Beta 2.2
- September CTP per Longhorn Server


