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
Elencare le container images installate in un cluster di Kubernetes
Utilizzare la libreria Benchmark.NET per misurare le performance
Eseguire attività con Azure Container Jobs
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8
Routing statico e PreRendering in una Blazor Web App
Implementare l'infinite scroll con QuickGrid in Blazor Server
Usare Refit e Polly in Blazor per creare client affidabili e fortemente tipizzati
Utilizzare Model as a Service su Microsoft Azure
Eseguire una GroupBy per entity in Entity Framework
Copiare automaticamente le secret tra più repository di GitHub
Aggiungere interattività lato server in Blazor 8
Sviluppare un'interfaccia utente in React con Tailwind CSS e Preline UI
I più letti di oggi
- Miglioramenti nelle performance di Angular 16
- Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
- HTML5 con CSS e JavaScript
- Ottimizzazione dei block template in Angular 17
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!