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
Il nuovo controllo Range di Blazor 9
Implementare l'infinite scroll con QuickGrid in Blazor Server
Applicare un filtro per recuperare alcune issue di GitHub
Garantire la provenienza e l'integrità degli artefatti prodotti su GitHub
Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
Supportare la sessione affinity di Azure App Service con Application Gateway
Utilizzare un numero per gestire la concorrenza ottimistica con SQL Server ed Entity Framework
Gestire il colore CSS con HWB
Gestione dell'annidamento delle regole dei layer in CSS
Collegare applicazioni server e client con .NET Aspire
Combinare Container Queries e Media Queries
Ottenere un token di accesso per una GitHub App