memomem

備忘録・メモ置き場

async Taskのキャンセルについて

async Taskは便利だけど、cancel処理を書いておかないと色々とハマることがおおいから書くべき

※編集中

cts = new CancellationTokenSource();

cts.Token.Register(() =>
{
    Debug.WriteLine("キャンセルされました");
});

try, catchは必ず書くようにする。

catchした場合は再throwする。

async/awaitとCancellationTokenはセットで取り扱う。 asyncメソッドを定義するときは必ずCancellationTokenを引数にする。

参考

qiita.com

tera1707.com

qiita.com

zenn.dev

blog.neno.dev

qiita.com

tachis.hatenablog.com

blog.yucchiy.com

neue.cc