以下の内容はhttps://orotiyamatano.hatenablog.com/entry/SuppressCancellationThrowより取得しました。


【メモ書き】UniTaskでキャンセルが伝播してしまうのを避ける

こんにちは、やまだたいし( https://twitter.com/OrotiYamatano )です。
UniTaskのキャンセルについて。

目次


SuppressCancellationThrowを使え


UniTaskではキャンセルした時に OperationCanceledException というExceptionで処理をします。
しかし、その場合キャンセルが伝播してしまい、一番親の呼び元までキャンセルしにいってしまいます。

それを避けるためには SuppressCancellationThrow を使うとよいです。

例えば、こんな感じ。

await UniTask.WaitWhile(() =>hoge, cancellationToken: token) .SuppressCancellationThrow();

こうすることで await UniTask.WaitWhile のところで止まるので更に上位の await UniTask.WaitWhile を呼び出している階層は巻き込まれずに済みます。

まとめ


これだけ。
これだけなので記事にするか迷いましたが、ググる人もいるかと思ったので記事化しました。

詳しくは、はなちるさんの記事とか他の人がわかりやすい記事書いているので見るとよいかも。

www.hanachiru-blog.com




以上の内容はhttps://orotiyamatano.hatenablog.com/entry/SuppressCancellationThrowより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14