在以下代码中,按下button1会执行冗长的计算并在窗口标题栏中显示结果。它可以工作,但是我可以访问任务的Status
以检查任务是否成功运行(TaskStatus.RanToCompletion
)?如何在异步方法中使用await时访问Task对象?
async private void button1_Click(object sender, EventArgs e)
{
Text = "Working";
int val = await LongTask();
Text = "Done: " + val;
}
async Task<int> LongTask()
{
return await Task.Run(() => LongFunction());
}
int LongFunction()
{
Thread.Sleep(5000);
return 1;
}