我在.net 4.0中安裝了異步包。這使我能夠在我的應用程序中使用async/await關鍵字。異步/等待task.run與task.run並在.NET 4.0中繼續
正如我已經理解,直到現在我可以使用包裝我的task.run代碼在異步/等待,並具有與使用task.run與continuewith相同的結果。
這是真的嗎?還是有更深的分歧?
我在.net 4.0中安裝了異步包。這使我能夠在我的應用程序中使用async/await關鍵字。異步/等待task.run與task.run並在.NET 4.0中繼續
正如我已經理解,直到現在我可以使用包裝我的task.run代碼在異步/等待,並具有與使用task.run與continuewith相同的結果。
這是真的嗎?還是有更深的分歧?
這取決於你在做什麼與ContinueWith
。但是,是的,您通常可以使用await
來達到您以前使用ContinueWith
所達到的效果。 不能做的事情就是「只在失敗時繼續執行此代碼」 - 您只需使用正常的異常處理即可。正如AlexH所說,在你的方法的整體行爲方面會有進一步的差異 - 但在大多數情況下,我會說理想的。基本上,代碼的異步流動,所以異步方法往往會調用更多的異步方法等
,我建議你在什麼async
/await
大約讀了(有資源的負載在那裏 - 我建議在"Consuming the Task-based Asynchronous Pattern"頁面上MSDN作爲一個起點
將會有一個區別,如果你在你的函數原型引入異步關鍵字;例外情況將在任務調用者的水平拋出 沒有async關鍵字,你必須檢查TaskContinuationOptions.OnlyOnFaulted狀態來獲取異常。