我想跟踪异步函数何时完成,所以我尝试在代码中给出 它无法正常工作,有没有人使用异步功能的IsCompleted属性。
我的代码:
public async Task SetAsyncTask()
{
//do a long process
}
//Calling method
if (SetAsyncTask().IsCompleted)
{
//display a finish message
}
请帮助使用它的最佳方式。
答案 0 :(得分:6)
IsCompleted没有阻止,你想要await SetAsyncTask();
。
答案 1 :(得分:2)
使用await
关键字或使用while
代替if
。
await SetAsyncTask();
DisplayFinishMessage();
或
var x = SetAsyncTask();
while (!x.IsCompleted) {}
DisplayFinishMessage();
第一种选择可能更好。