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
Elencare le container images installate in un cluster di Kubernetes
Reactive form tipizzati con modellazione del FormBuilder in Angular
Utilizzare gli snapshot con Azure File shares
Miglioramenti nelle performance di Angular 16
Sfruttare lo stream rendering per le pagine statiche di Blazor 8
Generare file per il download da Blazor WebAssembly
Utilizzare HiLo per ottimizzare le insert in un database con Entity Framework
Reactive form tipizzati con FormBuilder in Angular
Utilizzare database e servizi con gli add-on di Container App
Usare lo spread operator con i collection initializer in C#
Semplificare il deployment di siti statici con Azure Static Web App
Determinare lo stato di un pod in Kubernetes
I più letti di oggi
- Miglioramenti nelle performance di Angular 16
- Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
- HTML5 con CSS e JavaScript
- Ottimizzazione dei block template in Angular 17
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!