Effettuare una chiamata HTTP in Angular usando le promise e RxJs 7

di Stefano Mostarda, in HTML5, Angular,

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

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi