コンストラクターでの非同期操作の処理
コンストラクター内で非同期メソッドを直接呼び出すと、getWritings().Result
の例で示されているように、UI スレッドのブロックが発生する可能性があります。 より良い解決策は、操作の非同期の性質を採用することです。
コンストラクターでデータを同期的にフェッチする代わりに、アプリケーションを初期化して「読み込み中」インジケーターを表示します。 データ (例: getWritings()
から) が非同期的に取得された後、結果を反映するように UI を更新します。
このアプローチは、ネットワーク操作に固有の予測不可能性に対処し、UI のフリーズを防ぎます。 このパターンの実装に関する詳細なガイダンス (特に MVVM アーキテクチャ内) については、非同期データ バインディングに関する MSDN 記事や async void
メソッドを回避するためのベスト プラクティスなどのリソースを参照してください。
以上がコンストラクターで非同期メソッドを使用するときに UI スレッドのブロックを回避するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。