Quantcast
Channel: かずきのBlog@hatena
Viewing all articles
Browse latest Browse all 1387

Taskを返すメソッドをそのままreturnして失敗した

$
0
0

Task HogehogeAsync()みたいなメソッドがあるとします。 そのメソッドをTask FugafugaAsync()で呼ぶときに、単発で呼ぶだけならそのままreturnしてしまいますよね。

async FugafugaAsync()
{
    return HogehogeAsync();
}

こんなノリで以下のようなメソッドでやらかしてしまいました。

async FugafugaAsync()
{
    IsProcessing = true;
    try
    {
        return HogehogeAsync();
    }
    finally
    {
        this.IsProcessing = false;
    }
}

これはawaitしないと一瞬でメソッドを抜けてしまうのでIsProcessingが一瞬でtrue→falseになってしまいます。 暫く悩みました。


Viewing all articles
Browse latest Browse all 1387

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>