メインコンテンツへスキップ
< すべてのトピックに戻る

非同期処理が増えた時の設計ポイントは?

通信やロード処理(Awaitable等)を実行する際、必ず「途中でキャンセルされた場合」や「指定時間を超えても返事が来ない場合(タイムアウト)」の例外処理をセットで実装することです。

通信が途中で切れたのに無限に待ち続けて画面がフリーズしたり、待っている間にプレイヤーが別の画面に移動したせいで、後から結果が返ってきた時にNull エラーを引き起こす事故が多発するからです。

CancellationTokenSourceを作成して非同期メソッドに渡し、ユーザーがキャンセルボタンを押したり、オブジェクトが Destroy されたりした瞬間に、裏側で走っている非同期処理も確実に強制終了させる仕組みを徹底します。

目次

9周年キャンペーン実施中 早い申込みほど受講料がお得に