首頁 > 後端開發 > C++ > 可以在建構函式中呼叫非同步方法嗎?

可以在建構函式中呼叫非同步方法嗎?

Linda Hamilton
發布: 2025-01-14 19:51:44
原創
699 人瀏覽過

Can Async Methods Be Called Within Constructors?

建構函式中能否呼叫非同步方法?

在嘗試將非同步程式碼整合到類別建構函式中時,這個問題經常出現。具體來說,本例的目標是在物件實例化期間呼叫 getWritings() 方法(該方法解析 JSON 資料)。

問題所在

最初,直接在建構函式中呼叫 getWritings() 並將其設為非同步方法會導致空回傳值和空的 LongListView。嘗試透過 getWritings().Result 取得結果來解決此問題,導致 UI 執行緒阻塞。

建議的方法是設計應用程式以處理資料檢索的非同步特性。構造函數應設定一個視圖以指示正在下載數據,實際的數據更新應在下載完成後發生。

關於此主題的其他資源包括一篇關於非同步建構函數的博文,一篇關於MVVM 場景中非同步資料綁定的MSDN 文章,以及一篇關於非同步最佳實踐的MSDN 文章,其中強調了避免使用async void 方法的重要性。

以上是可以在建構函式中呼叫非同步方法嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板