0

私の質問は、async と await を使用するアプリケーションのアーキテクチャに関連しています。

JSON 形式のリストBooks(または任意のオブジェクト) を返す Web サービスがあるとします。

従来の実装 (asyncおよびなし)では、 、(シングルトン) および(シングルトン) のawait3 つの異なるクラスを使用し、書籍のリストが必要な場所では、1 つは成功用、もう 1 つはエラー用の 2 つのデリゲート メソッドを使用します。したがって、基本的に私は を呼び出してを呼び出し、応答は非同期的にダウンロードされ、 に渡され、解析して作成した後、メイン スレッドでデリゲート メソッドを呼び出します(成功またはエラーのいずれか)。BooksParserBooksWebServiceBooksManagerPageBooksManagerBooksManagerBooksWebServiceBooksParserBooksParserList<Book>Page

移行方法と使用方法を理解するのに苦労していますasync/await。私が同じ3つのクラスを維持しているとしましょう。BooksManager と BooksWebService では、最初に呼び出されるメソッドを次のように変更し、このメソッドをmy からasync Task<List<Books>> GetBooks(...).呼び出して、その応答を待ちます。しかし、問題は、エラーを処理する方法を本当に理解できないことです (例: インターネット接続がない、または WebService からの 4xx ステータス コード)。BooksManagerPage

try/catch アプローチを使用してこれを行う必要がありますか、それともよりクリーンな方法がありますか?

4

1 に答える 1