複製鏈接
請複製以下鏈接發送給好友

異步開發

鎖定
異步開發,就是利用線程技術,當執行一個佔用時間長的任務時,不會阻止用户其它工作,而且其完成時會通知用户。
中文名
異步開發
外文名
AsynchronousDevelopment
定    義
利用線程技術,當執行一個佔用時間長的任務時,不會阻止用户其它工作,而且其完成時會通知用户

目錄

異步開發異步調用

不論是桌面客户端還是Web應用通常會出現處理時間較長的操作,為了在這段時間內不影響用户與應用之間的交互體驗,開發人員通常會使用異步調用技術,使得比較複雜的邏輯操作由異步進行,用户仍然可以繼續使用應用,不會有無響應的等待情況出現 [1] 
本篇將通過一個簡單的實例演示如何在Windows 8 應用中使用異步編程。首先我們來編寫一個“Get Blogs”按鈕,點擊它可以從Windows Blog中獲取博客列表。當然獲取博客信息的過程是由異步進行的,這個過程中為了測試用户仍然可以與應用交互,我們再設計一個“Change Text”用來修改waitingText的內容。

異步開發代碼

接下來為“Get Blogs”按鈕添加Click事件,getBlogs_Click與以往Click事件不同之處就在於多了一個async關鍵字,看到Async就説明下面的內容要通過異步方法來實現。方法中通過SyndicationClient.RetrieveFeedAsync獲取博客內容,並通過await操作符告知應用要調用異步操作,且不影響用户正常交互。如果不使用的異步調用的話,用户只能等待所有博客內容加載完成後,才能繼續使用該應用。

異步開發演示

運行程序點擊“Get Blogs”按鈕,應用已經通過異步方式獲取Blog內容,這是我們可以點擊“Change Text”來驗證一下用户是否可以繼續使用應該的其他功能。
點擊“Get Blogs”後會出現“Loading Blogs…”的字樣,説明此事異步調用已經啓動。
在獲取到博客內容前點擊“Change Text”,剛才的文字會變為“Please Waiting…”,説明當異步調用時用户仍然可以與應用進行交互。
異步開發 異步開發
異步調用完成後,文字部分又被更新為“Completed!”。
異步開發 異步開發
至此,關於異步調用的開發就完成了。本篇內容只是異步調用的一種類型,當然還有許多其他類型的API可以供大家使用,而且包含C#、VB、JS多種語言開發。
異步開發 異步開發
參考資料