Fab*_*ini 12 .net c# asynchronous task async-await
我有一个IAnimation暴露方法的接口BeginAsync().该方法应该启动动画并在完成时返回.
我想要做的是实现一个只在执行时返回的null动画类.NoAnimationBeginAsync()
这是正确的实施吗?
public async Task BeginAsync()
{
await Task.Run(() => { });
}
Run Code Online (Sandbox Code Playgroud)
我怀疑有一种比这更优雅的方法.我还考虑过创建一个空方法.但这给了我一个我不喜欢的警告.
Ree*_*sey 24
只需用于Task.CompletedTask返回已完成的任务:
public Task BeginAsync()
{
return Task.CompletedTask;
}
Run Code Online (Sandbox Code Playgroud)
如果你有一个Task<TResult>使用Task.FromResult<TResult>一个结果返回一个完成的任务:
public Task<bool> BeginAsync()
{
return Task.FromResult(true);
}
Run Code Online (Sandbox Code Playgroud)
您当前的实现非常低效,因为它构建状态机,并且还使用ThreadPool线程来运行空任务.
| 归档时间: |
|
| 查看次数: |
3922 次 |
| 最近记录: |