首页 >后端开发 >C++ >可以在构造函数中调用异步方法吗?

可以在构造函数中调用异步方法吗?

Linda Hamilton
Linda Hamilton原创
2025-01-14 19:51:44699浏览

Can Async Methods Be Called Within Constructors?

构造函数中能否调用异步方法?

在尝试将异步代码整合到类构造函数中时,这个问题经常出现。具体来说,本例的目标是在对象实例化期间调用 getWritings() 方法(该方法解析 JSON 数据)。

问题所在

最初,直接在构造函数中调用 getWritings() 并将其设为异步方法会导致空返回值和空的 LongListView。尝试通过 getWritings().Result 获取结果来解决此问题,导致 UI 线程阻塞。

解决方案

推荐的方法是设计应用程序以处理数据检索的异步特性。构造函数应设置一个视图以指示正在下载数据,实际的数据更新应在下载完成后发生。

关于此主题的其他资源包括一篇关于异步构造函数的博文,一篇关于 MVVM 场景中异步数据绑定的 MSDN 文章,以及一篇关于异步最佳实践的 MSDN 文章,其中强调了避免使用 async void 方法的重要性。

以上是可以在构造函数中调用异步方法吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn