【Unity】UniTaskのキャンセル時の実装を調べてみた

UniTask.WaitWhileのキャンセル処理時の実装をしなくてはいけなくて調べてみました。

キャンセル処理

タイムアウトやキャンセルされる場合、OperationCanceledExceptionが発生する可能性があります。この例外を適切に処理するには、try-catch構文を使用する必要があります。 今回は、ボタンが押されるまで待機をしたい処理でしたので、次のような感じの実装ができそうです。

try
{
    await UniTask.WaitWhile(() => true, cancellationToken: cancellationToken);
}
catch (OperationCanceledException)
{
    // キャンセル処理
}