异步函数的IsCompleted属性中的问题

时间:2013-10-30 12:31:27

标签: c# windows-phone

我想跟踪异步函数何时完成,所以我尝试在代码中给出 它无法正常工作,有没有人使用异步功能的IsCompleted属性。

我的代码:

public async Task SetAsyncTask() 
{ 
//do a long process 
} 

//Calling method 
if (SetAsyncTask().IsCompleted) 
{ 
//display a finish message 
} 

请帮助使用它的最佳方式。

2 个答案:

答案 0 :(得分:6)

IsCompleted没有阻止,你想要await SetAsyncTask();

答案 1 :(得分:2)

使用await关键字或使用while代替if

await SetAsyncTask();
DisplayFinishMessage();

var x = SetAsyncTask();
while (!x.IsCompleted) {}
DisplayFinishMessage();

第一种选择可能更好。