私の質問は、async と await を使用するアプリケーションのアーキテクチャに関連しています。
JSON 形式のリストBooks
(または任意のオブジェクト) を返す Web サービスがあるとします。
従来の実装 (async
およびなし)では、 、(シングルトン) および(シングルトン) のawait
3 つの異なるクラスを使用し、書籍のリストが必要な場所では、1 つは成功用、もう 1 つはエラー用の 2 つのデリゲート メソッドを使用します。したがって、基本的に私は を呼び出してを呼び出し、応答は非同期的にダウンロードされ、 に渡され、解析して作成した後、メイン スレッドでデリゲート メソッドを呼び出します(成功またはエラーのいずれか)。BooksParser
BooksWebService
BooksManager
Page
BooksManager
BooksManager
BooksWebService
BooksParser
BooksParser
List<Book>
Page
移行方法と使用方法を理解するのに苦労していますasync/await
。私が同じ3つのクラスを維持しているとしましょう。BooksManager と BooksWebService では、最初に呼び出されるメソッドを次のように変更し、このメソッドをmy からasync Task<List<Books>> GetBooks(...).
呼び出して、その応答を待ちます。しかし、問題は、エラーを処理する方法を本当に理解できないことです (例: インターネット接続がない、または WebService からの 4xx ステータス コード)。BooksManager
Page
try/catch アプローチを使用してこれを行う必要がありますか、それともよりクリーンな方法がありますか?