Angular è fortemente basato sulle Reactive Extension. Un tipico esempio di questa affermazione lo si trova nell'esecuzione delle chiamate HTTP. Una chiamata HTTP, sia che la si effettui con la classe Http che con la classe HttpClient, restituisce un oggetto di tipo Observable<T>. Le Reactive Extension permettono di realizzare in poco tempo funzionalità che con le Promise sono realizzabili solo atteverso la scrittura di molto codice.
Un tipico esempio sono le retry in una chiamata HTTP. Esistono molti casi in cui una chiamata HTTP può andare in errore (mancanza temporanea di connessione, server momentaneamente non disponibile, e così via). In questi casi possiamo decidere di effettuare nuovamente la chiamata un certo numero di volte prima di sollevare realmente un'eccezione. Utilizzando le Reactive Extensions tutto questo può essere fatto utilizzando il metodo retry.
import 'rxjs/add/operator/retry'; ... http.get<Person>('/api/person/1') .retry(3) .subscribe(//code);
In questo caso, la chiamata all'URL viene eseguita fino a un massimo di tre volte prima di andare in errore.
Questa stessa funzione è realizzabile anche utilizzando una Promise, ma dobbiamo scrivere a mano del codice che utilizzando le Reactive Extension abbiamo già a disposizione.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Applicare il versioning ai nostri endpoint ASP.NET Core Minimal API
Gestire undefined e partial nelle reactive forms di Angular
Usare lo spread operator con i collection initializer in C#
Usare il versioning con i controller di ASP.NET Core Web API
Eseguire query manipolando liste di tipi semplici con Entity Framework Core
Miglioramenti agli screen reader e al contrasto in Angular
Utilizzare le Cache API di JavaScript per salvare elementi nella cache del browser
Utilizzare Model as a Service su Microsoft Azure
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Sfruttare i KeyedService in un'applicazione Blazor in .NET 8
Gestione degli environment per il deploy con un workflow di GitHub
Gestire i null nelle reactive form tipizzate di Angular
I più letti di oggi
- Impostare un elemento come ridimensionabile tramite CSS
- Proteggersi dagli attacchi di Open Redirect in ASP.NET Core MVC
- Personalizzare l'errore del rate limiting middleware in ASP.NET Core
- Accedere alla console di una Azure Container App
- Modificare i metadati nell'head dell'HTML di una Blazor Web App
- Gli oggetti CallOut di Expression Blend 4.0
- SQL Server 2005 December CTP
- Sfruttare le nuove tipologie di input di HTML5 con ASP.NET 4.0
- Upload da una pagina web con Dundas Upload