问题描述:

我们在SampleDataSource的构造函数中,将里边的示例代码全部删除,然后添加异步方法LoadFile,即

public SampleDataSource(){LoadFile();},但是运行结果却是Group的数据被加载了,但是其中的数据项未被加载,也就是说数据不显示。原因:这是典型的异步调用错误。原因也很简单,是因为SampleDataSource的构造函数是同步调用,不会等LoadFile结束后再返回,所以,当界面上显示数据时,显示的只是未加载完成的数据列表。解决方法:方法一:由于构造函数无法变成async调用方法,所以只能用另外的一个显式初始化函数来替代构造函数的作用,在数据显示之前,显式地调用该初始化函数。所以,我就直接将LoadFile作为这个初始化函数,为LoadFile增加public,static和async关键字。然后,我们打开GroupItemsPage.xaml.cs文件,找到LoadState方法。该方法用来设置当前视图的数据源,所以,我们在LoadState方法的顶部显式调用SampleDataSource.LoadFile方法。当然,我们会得到一个编译错误,因为LoadState方法也是一个同步调用函数,简单地为LoadState方法增加一个async的关键字就可以解决这个问题。方法二:public SampleDataSource()

{

_LoadFile();

}private async Task _LoadFile()

{

    await LoadFile();

},

转载于:https://www.cnblogs.com/suinuaner/archive/2013/01/23/twenty.html

二十、异步调用的问题相关推荐

  1. Dapr + .NET 实战(十二)服务调用之GRPC

    欢迎大家参加4小时Dapr+.NET 5的实战课程 课程链接     https://ke.qq.com/course/4000292?tuin=1271860f 什么是GRPC gRPC 是一种与语 ...

  2. spring boot 1.5.4 定时任务和异步调用(十)

    1      Spring Boot定时任务和异步调用 我们在编写Spring Boot应用中经常会遇到这样的场景,比如:我需要定时地发送一些短信.邮件之类的操作,也可能会定时地检查和监控一些标志.参 ...

  3. (二)线程--通过委托异步调用方法

    (一).描述   先运行个简单的线程示例,认识一下线程   通过委托调用方法,以及使用AsyncResult判断线程的状态 (二).代码 using System; using System.Thre ...

  4. WCF技术剖析之二十九:换种不同的方式调用WCF服务[提供源代码下载]

    原文:WCF技术剖析之二十九:换种不同的方式调用WCF服务[提供源代码下载] 我们有两种典型的WCF调用方式:通过SvcUtil.exe(或者添加Web引用)导入发布的服务元数据生成服务代理相关的代码 ...

  5. springboot定时发送短信_spring boot 1.5.4 定时任务和异步调用(十)

    1Spring Boot定时任务和异步调用 我们在编写Spring Boot应用中经常会遇到这样的场景,比如:我需要定时地发送一些短信.邮件之类的操作,也可能会定时地检查和监控一些标志.参数等. sp ...

  6. 浅谈WebService开发二(同步与异步调用)转

    上文 <http://www.dotnetgeek.cn/xuexiwebservice1.html>已经跟大家说了,如果创建一个webservice和简单的调用,本文将注重webserv ...

  7. C# 委托高级应用----线程——创建无阻塞的异步调用(二)

    了解IAsyncResult 现在我们已经了解,EndInvoke可以给我们提供传出参数与更新后的ref参数:也可以向我们导出异步函数中的异常信息.例如,我们使用BeginInvoke调用了异步函数S ...

  8. linux exec 二程序,二十五、Linux 进程与信号---exec函数

    25.1 介绍 在用 fork 函数创建子进程后,子进程往往要调用一种 exec 函数以执行另一个程序 当进程调用一种 exec 函数时,该进程完全由新程序代换,替换原有进程的正文,而新程序则从其 m ...

  9. 那些年我们一起追逐的多线程(Thread、ThreadPool、委托异步调用、Task/TaskFactory、Parallerl、async和await)

    一. 背景 在刚接触开发的头几年里,说实话,根本不考虑多线程的这个问题,貌似那时候脑子里也有没有多线程的这个概念,所有的业务都是一个线程来处理,不考虑性能问题,当然也没有考虑多线程操作一条记录存在的并 ...

最新文章

  1. TensorFlow入门(一)基本用法
  2. 概率分布函数的关系框架
  3. 虚拟机VMware安装centos7详细步骤
  4. cocos2d-x的popScene的动画效果
  5. php顶级框架,10个顶级PHP开源项目「2019」
  6. 002.FTP配置项详解
  7. java的实例变量_JAVA语言中的实例变量
  8. 8080端口号被占用的解决方法
  9. 在浏览器中简单输入一个网址,解密其后发生的一切(http请求的详细过程)
  10. Vue2.0 的 Material Design UI 组件库 Muse-UI
  11. 【操作系统】内存管理
  12. 论文笔记(精读文章) - Invisible Backdoor Attack with Sample-Specific Triggers
  13. LeetCode-只出现一次的数字-哈希表-异或-py
  14. yarn安装依赖速度太慢的解决办法
  15. 浏览器访问百度www.baidu.com过程
  16. 风清月明,山清水明,心清志明,思清念明
  17. 怎么知道创元网配资平台靠不靠谱?
  18. git(7)自定义 Git
  19. F - 程序设计:掎角之势 计蒜客 - A2226 (求三角形四心坐标的方法/求内切圆、外接圆面积的方法)
  20. MC服安装Geyser使基岩版玩家进入JE服务器

热门文章

  1. 【教程】瘦AP升级为胖AP的终极大法
  2. Kubernetes 入门必备云原生发展简史
  3. 树莓派该文件名_树莓派学习笔记(2):常用linux命令
  4. Jmeter之逻辑控制器操作
  5. 轴添加点击事件_Q群答疑丨如何批量修改Revit轴网编号,为它添加前缀?
  6. html 关键帧作标记,关键帧有什么用?
  7. python编程基础题库_大学moocPython编程基础题库及答案
  8. 全国计算机二级考试vf知识点总结,VF全国计算机等级考试二级公共基础知识点总结.doc...
  9. java stream 多个filter_恕我直言你可能真的不会java第3篇:Stream的Filter与谓词逻辑...
  10. java list负载_java集合的扩容和负载因子的总结