看板 C_Sharp 關於我們 聯絡資訊
我正在寫windows store app, 由於希望是在初次load程式時確保已經執行完畢才會進到主畫面, 因此使用extened splash screen延長啟動畫面, 但是因為使用library的function,裡面都是async method, 所以現在變成 : splash screen ->extened splash screen(0.5秒) -> 還沒讀完的主畫面 這樣延長啟動畫面就變得沒有意義了 --------------------------詢問分隔線----------------------------- 所以想問的是 如何將 Data obj = await asyncMethod(....); 1.改成sync的方式(有辦法嗎?不動到原本method) 或 2.去偵測非同步執行完成後,再去做下個動作 有大致上查了一些文章,包括使用Task.run()、wait()(這個會導致死結) 但是實作都失敗....Orz 謝謝各位! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.250.123.77
YahooTaiwan:1. 顯示splash 2.data obj = await methodAsync() 3. 12/30 13:05
YahooTaiwan:隱藏splash 12/30 13:06
YahooTaiwan:非同步method加上await後可以把他當作同步method來看 12/30 13:07
YahooTaiwan:待 12/30 13:07
johnpage:設定旗標,完成時改變狀態。 12/30 13:14
firose:async 本身就會傳回 Task 可以去 poll IsCompleted 12/30 19:46
firose:var t=Task.Run(async ()=>await asyncMethod()); t.IsXX.. 12/30 20:02