Maison > développement back-end > C++ > Les méthodes asynchrones peuvent-elles être appelées dans les constructeurs ?

Les méthodes asynchrones peuvent-elles être appelées dans les constructeurs ?

Linda Hamilton
Libérer: 2025-01-14 19:51:44
original
697 Les gens l'ont consulté

Can Async Methods Be Called Within Constructors?

Les méthodes asynchrones peuvent-elles être appelées dans le constructeur ?

Ce problème survient souvent lorsque l'on tente d'intégrer du code asynchrone dans les constructeurs de classes. Plus précisément, le but de cet exemple est d'appeler la méthode getWritings() (qui analyse les données JSON) lors de l'instanciation d'un objet.

Le problème

Initialement, appeler getWritings() directement dans le constructeur et en faire une méthode asynchrone entraînait une valeur de retour nulle et un LongListView vide. Essayer d'obtenir le résultat via getWritings().Result pour résoudre ce problème entraîne le blocage du fil de discussion de l'interface utilisateur.

Solution

L'approche recommandée consiste à concevoir votre application pour gérer la nature asynchrone de la récupération de données. Le constructeur doit configurer une vue pour indiquer que les données sont en cours de téléchargement, et la mise à jour réelle des données doit avoir lieu une fois le téléchargement terminé.

Des ressources supplémentaires sur ce sujet incluent un article de blog sur les constructeurs asynchrones, un article MSDN sur la liaison de données asynchrones dans les scénarios MVVM et un article MSDN sur les meilleures pratiques asynchrones, qui met l'accent sur le fait d'éviter async void L'importance de la méthode.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal