C# LanguageAsync-Await


Introduction

En C #, une méthode déclarée async ne sera pas bloquée dans un processus synchrone, dans le cas où vous utiliseriez des opérations basées sur les E / S (par exemple, accès Web, utilisation de fichiers, ...). Le résultat de telles méthodes marquées par async peut être attendu via l'utilisation du mot-clé await .

Remarques

Une méthode async peut renvoyer void , Task ou Task<T> .

Le type de retour Task attendra la fin de la méthode et le résultat sera void . Task<T> renverra une valeur du type T fois la méthode terminée.

async méthodes async doivent renvoyer Task ou Task<T> , par opposition à void , dans presque toutes les circonstances. async void méthodes async void ne peuvent pas être await , ce qui entraîne divers problèmes. Le seul scénario où un async doit retourner void est dans le cas d'un gestionnaire d'événements.

async / await fonctionne en transformant votre méthode async en une machine à états. Pour ce faire, il crée une structure en arrière-plan qui stocke l'état actuel et tout contexte (comme les variables locales) et expose une méthode MoveNext() pour avancer les états (et exécuter tout code associé) chaque fois qu'une attente attendue se termine.

Async-Await Exemples Liés