我們的應用程序在啓動時下載了大量數據。它需要所有操作的大部分數據。這是一個問題:只有在加載數據後才能執行一些操作。由於它異步加載,大多數用戶操作會引發異常。
我試過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