异步函数的 IsDone 属性中的问题
本文关键字:问题 属性 IsDone 函数 异步 | 更新日期: 2023-09-27 18:37:24
我想跟踪异步函数何时完成,所以我尝试按照代码中给出的它无法正常工作,是否有人使用异步函数的 IsDone 属性。
我的代码:
public async Task SetAsyncTask()
{
//do a long process
}
//Calling method
if (SetAsyncTask().IsCompleted)
{
//display a finish message
}
请帮助使用它的最佳方式是什么。
IsDone没有阻塞,你想await SetAsyncTask();
。
使用 await
关键字或使用 while
代替 if
。
await SetAsyncTask();
DisplayFinishMessage();
或
var x = SetAsyncTask();
while (!x.IsCompleted) {}
DisplayFinishMessage();
第一种选择可能更好。