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
Disegnare un'applicazione web sfruttando il micro-frontend pattern
Bypassare l'esecuzione di una GitHub Action su branch protetti
Dichiarare una struct come record in C#
Utilizzare il proxy del WebServer di Angular per simulare chiamate ad API sullo stesso dominio
Esecuzione a matrici nei workflow di GitHub Action
Come sono state modificate le checkbox nelle form di Bootstrap 5
Personalizzare la creazione dell'utenze Azure B2C tramite API connector
Impostare un promemoria per ruotare le chiavi di Azure Storage
Creare automaticamente una pipeline YAML da una sua definizione in Azure DevOps
Ottimizzare il json generato dalla serializzazione con System.Text.Json eliminando i valori non necessari
Leggere il valore di un header della richiesta in ASP.NET Core 6
Controllare lo stato di un servizio gRPC in ASP.NET Core tramite Health Check