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
Usare una container image come runner di GitHub Actions
Eseguire operazioni con timeout in React
Miglioramenti nelle performance di Angular 16
Eseguire una query su SQL Azure tramite un workflow di GitHub
Utilizzare il trigger SQL con le Azure Function
Miglioramenti agli screen reader e al contrasto in Angular
Aggiungere interattività lato server in Blazor 8
Eseguire attività con Azure Container Jobs
Definire stili a livello di libreria in Angular
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Come migrare da una form non tipizzata a una form tipizzata in Angular
Inizializzare i container in Azure Container Apps
I più letti di oggi
- Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
- ASP.NET 3.5 per tutti
- .NET Conference Italia 2023 - Milano e Online
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Utilizzare Docker Compose con Azure App Service
- Creare più ambienti in un'applicazione Angular