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
Effettuare il refresh dei dati di una QuickGrid di Blazor
Migliorare l'organizzazione delle risorse con Azure Policy
Creare una libreria CSS universale: Cards
Escludere alcuni file da GitHub Secret Scanning
Creare una libreria CSS universale: Immagini
Supporto ai tipi DateOnly e TimeOnly in Entity Framework Core
Utilizzare il metodo ExceptBy per eseguire operazione di sottrazione tra liste
Sfruttare GPT-4o realtime su Azure Open AI per conversazioni vocali
Utilizzare QuickGrid di Blazor con Entity Framework
Configurare e gestire sidecar container in Azure App Service
Configurare il nome della run di un workflow di GitHub in base al contesto di esecuzione
Configurare lo startup di applicazioni server e client con .NET Aspire