Mon*_*Zhu 3 c# task async-await
我找到了这段代码:
Task task = DoSomethingAsync( someObject );
await task.ConfigureAwait( false );
if ( task.IsCompleted ){ ... }
Run Code Online (Sandbox Code Playgroud)
我想知道我是否可以安全地将其替换为
await DoSomethingAsync( someObject ).ConfigureAwait( false );
Run Code Online (Sandbox Code Playgroud)
并删除 if 子句。
我的问题:task.IsCompleted当等待的任务返回时,可能会出现错误吗?
IsCompleted 的文档告诉我们:
true如果任务已完成(即任务处于三种最终状态之一:RanToCompletion、Faulted 或 Canceled);否则,false。
我查找了可能的状态,但我仍然不清楚当等待的任务返回时哪些状态是可能的。
请帮助我阐明这个问题。提前谢谢。
wait 运算符暂停对封闭异步方法的求值,直到其操作数表示的异步操作完成。
之后Task taskInstance = ...; await taskInstance;,taskInstance.IsCompleted永远都是真的。
| 归档时间: |
|
| 查看次数: |
523 次 |
| 最近记录: |