[.net mvc][引用] await , async 筆記

這篇是透過

David 大大 這篇文章做筆記

http://studyhost.blogspot.com/2012/06/metro-style-appnet-45.html

 

 

 

Button Click 區塊可以看到

 

分別指定給 textbox1.text

 

中間有GetRemoteData()

 

這樣的執行方式結果會是

//start

//finish

// GetRemoteData 的 result

 

 

這邊可以再看到 如果我們需要建立一個自己的非同步method

 

在async 的方法就需要用 Task<T> 包住 要回傳的值

 

像這樣的結果就會是

//start

// GetRemoteData 的 result  -> 這邊要特別講 下方的finish 會等到 await 的執行完 才會一併顯示

//finish

 

延伸應用

 

 

在mvc 官方的範例中

 

一樣可以看到async await 的身影

 

現在是不是一目瞭然?

 

會回傳ActionResult

 

並且會等待await UserManager.CreateAsync 這個非同步的方法的Completed完成

 

關於 await async

 

執行時間的測試

 

可參考 Chris大大 https://dotblogs.com.tw/wasichris/2017/06/08/101137 這篇文章