我们的应用程序在启动时下载了大量数据。它需要所有操作的大部分数据。这是一个问题:只有在加载数据后才能执行一些操作。由于它异步加载,大多数用户操作会引发异常。
我试过AutoResetEvent.WaitOne(),但it doesn't work correctly。
可以做些什么来避免它?提前致谢。异步加载数据的问题
0
A
回答
0
通过服务暴露您的数据,并暴露数据是否加载,加载,无法加载等指标。您的用户界面然后可以使用此指标来确定用户界面元素的可用性(通常通过命令)。
在数据加载之前,您绝对不应该阻止您的用户界面 - 这会破坏您被迫首先异步执行的全部目的。相反,您的用户界面应该根据数据的可用性在其加载时作出反应。
0
这不是一个Silverlight问题,它是一个普遍的生产者/消费者问题。
根据您的应用程序的确切环境和部分内容,有不同的方法。如果数据生成是非常快速的事情,并且只需要消费1个特定数据类型的单位,那么在消费者中,您可以轮询一次数据生成后更改的标志。或者,您可以向生产者提供一个函数/方法,以在数据填充后调用。通过这种方式,您可以将数据推送到仅显示可用内容的模块。
更复杂的例子将涉及排队和信号,但这应该让你开始。
相关问题
- 1. 异步加载问题
- 2. System.Data.SQLite异步加载问题
- 3. 异步数据加载iOS
- 4. AngularJS:加载异步翻译问题
- 5. 问题异步加载图像
- 6. Asp.net MVC异步加载问题
- 7. Google地图加载异步问题
- 8. 异步图像加载UITableView问题
- 9. 异步脚本加载问题
- 10. 加载数据异步JavaScript和Ruby的
- 11. 与异步数据加载的Adview(admob)
- 12. 异步加载数据时的反馈
- 13. 异步数据库通信的问题
- 14. 异步加载ImagePart数据错误
- 15. Android异步数据加载方法
- 16. NSTableview刷新异步加载数据
- 17. Highstock平移异步加载数据
- 18. 在AngularJS中加载异步数据
- 19. Asp.net C#异步加载数据
- 20. 异步数据加载到Ractive.js中
- 21. Highcharts。异步加载部分数据
- 22. Winforms异步加载大数据?
- 23. 在QTreeView异步加载数据
- 24. 在ember-data中异步加载数据
- 25. DXGrid异步加载数据+可编辑
- 26. 异步图像线程数据问题
- 27. 角异步数据检查问题
- 28. angular4 - 异步数据加载 - 异步ngFor循环?
- 29. 从API加载数据的问题 - 想要使用异步/等待代替
- 30. 异步下载的问题UITableView