Angular fa un uso molto estensivo delle reactive extensions. Queste sono presenti in moltissime parti del framework e in particolare le usiamo quando dobbiamo effettuare una chiamata HTTP per ottenere dati dal server. Sebbene lavorare con le reactive extensions sia estremamente semplice, chi approccia ad Angular con un background c# può trovare più comodo l'utilizzo della sintassi async / await. Fino alla versione 6 di RxJs, abbiamo avuto a disposizione il metodo toPromise di Observable<T> per trasformare un observable in una promise. A partire da RxJs 7 e Angular 13, questo metodo è stato deprecato in favore di un nuovo metodo: lastValueFrom.
A differenza di toPromise, questo metodo non fa parte dell'interfaccia di Observable, ma è esterno allineandosi così agli altri metodi di creazione.
const result = await lastValueFrom( this.httpClient.get<Customer>(1) );
In questo esempio, la variabile result è di tipo Customer in quanto abbiamo prima trasformato l'observable tornato dalla chiamata HTTP in una promise con lastValueFrom, e succesivamente abbiamo usato await per aspettarne l'esecuzione.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Gestire errori funzionali tramite exception in ASP.NET Core Web API
Eseguire query manipolando le liste contenute in un oggetto mappato verso una colonna JSON
Usare le variabili per personalizzare gli stili CSS
Eseguire attività con Azure Container Jobs
Eseguire le GitHub Actions offline
Evitare (o ridurre) il repo-jacking sulle GitHub Actions
Utilizzare politiche di resiliency con Azure Container App
Ottimizzare la latenza in Blazor 8 tramite InteractiveAuto render mode
Sfruttare MQTT in cloud e in edge con Azure Event Grid
Miglioramenti nell'accessibilità con Angular CDK
Usare una container image come runner di GitHub Actions
Utilizzare Model as a Service su Microsoft Azure