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
Ottimizzare la content-visibility in CSS specificando lo spazio da occupato dall'area non renderizzata
Personalizzare i parametri del CSS Scroll Snap
Utilizzo delle stepped value functions nel CSS
Raggruppare risorse in .NET Aspire
Gestione opzioni colonna nella Blazor QuickGrid
Utilizzare AbortController per cancellare operazioni asincrone in JavaScript
Applicare il progressive enhancement in applicazioni web
Gestione dei codeowners in GitHub
Mischiare codice server side e client side in una query LINQ con Entity Framework
Blazor e Static Web Assets in .NET 10
Definire il colore di una scrollbar HTML tramite CSS
Importare un servizio esterno in .NET Aspire


