async Task is freezing the UI

前端 未结 3 1927
無奈伤痛
無奈伤痛 2021-01-06 04:27

I have a method like this:

private async Task DoSomething()
{
    // long running work here.
}

When I call the method like this it blocks t

3条回答
  •  醉梦人生
    2021-01-06 05:15

    How are you using await? This doesn't block the UI:

        private async Task DoSomething()
        {
            await Task.Delay(5000);
        }
    
        private async void button1_Click(object sender, EventArgs e)
        {
            await DoSomething();
            MessageBox.Show("Finished");
        }
    

    Note that I didn't have to write any verbose callback stuff. That's the point of async/await.

提交回复
热议问题