Il pattern async/await semplifica notevolmente lo sviluppo di applicazioni che coinvolgono operazioni asincrone. Quest'ultime vengono rappresentate dall'oggetto Task, ma non obbligatoriamente devono essere caratterizzate da chiamate su web, ne devono eseguire qualcosa.
Se per esempio volessimo simulare delle latenze, o eseguire qualcosa solo dopo un determinato tempo, possiamo utilizzare il metodo statico Task.Delay per ottenere un task che scatta dopo il tempo indicato. Nello snippet seguente utilizziamo questo metodo per aggiungere un ritardo dopo una chiamata web, per processare i dati solo dopo una finta latenza.
async void Load() { // Ottengo i dati da remoto var items = await LoadFromWebAsync(); // Aspetto 3 secondi await Task.Delay(3000); // Processo gli items foreach (var item in items) { // ... } }
L'overload accetta anche un CancellationToken nel caso necessitiamo di annullare l'operazione di ritardo.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Usare le navigation property in QuickGrid di Blazor
Supportare lo HierarchyID di Sql Server in Entity Framework 8
Configurare dependabot per aggiornare le dipendenze di terze parti con GitHub Actions
Gestire undefined e partial nelle reactive forms di Angular
Creare una custom property in GitHub
Utilizzare le collection expression in C#
Ottimizzare il mapping di liste di tipi semplici con Entity Framework Core
Generare la software bill of material (SBOM) in GitHub
Le novità di Angular: i miglioramenti alla CLI
Creare un'applicazione React e configurare Tailwind CSS
Utilizzare gRPC su App Service di Azure
Sfruttare lo streaming di una chiamata Http da Blazor