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
Supportare lo HierarchyID di Sql Server in Entity Framework 8
Migliorare l'organizzazione delle risorse con Azure Policy
Introduzione ai web component HTML
Escludere alcuni file da GitHub Secret Scanning
Combinare Container Queries e Media Queries
Utilizzare il metodo Index di LINQ per scorrere una lista sapendo anche l'indice dell'elemento
Utilizzare QuickGrid di Blazor con Entity Framework
Generare un hash con SHA-3 in .NET
Garantire la provenienza e l'integrità degli artefatti prodotti su GitHub
Conoscere il rendering Server o WebAssembly a runtime in Blazor
Triggerare una pipeline su un altro repository di Azure DevOps
Creare una custom property in GitHub
I più letti di oggi
- Beta 1 di VS 2005 Enterprise Architect
- Point-in-time restore con gli Azure Storage Blob
- Focus dei tag input con HTML5
- Il nuovo tag nav in HTML5
- Evitare la modalità di risparmio energetico in una Windows Store app
- Real Code Day 4.0: costruire applicazioni reali - Firenze
- AI&ML Conference 2019 - Milano
- Mono 0.12: verso una nuova implementazione di ASP.NET