Comment exécuter synchrone une tâche asynchrone & lt; t & gt; Méthode
La programmation asynchrone offre un moyen pratique de gérer les opérations asynchrones, mais il peut y avoir des scénarios où vous devez exécuter une méthode asynchrone de manière synchrone. Une idée fausse commune est de tenter d'utiliser la tâche.RunSynchronely (), qui peut entraîner une conception invalidopée.
pour éviter ce problème, envisagez d'utiliser les méthodes suivantes de la classe Asynchelpers:
public static void RunSync(Func<Task> task); public static T RunSync<T>(Func<Task<T>> task);
Utilisation:
var customerList = AsyncHelpers.RunSync(() => GetCustomers());
implémentation:
La méthode runSync crée une instance exclusivesynchronisationContext et la définit comme la synchronisation actuelle. Il publie un délégué pour exécuter la tâche asynchrone et attend son achèvement. Si une exception se produit lors de l'exécution, il est realrown en tant qu'agrégateException dans la méthode d'exécution.
Avantages:
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!