我有一个简单的问题,但我认为有多个答案,以下内容是否存在好坏实践?
我正在实现给定接口方法:
Task<Model> GetDataAsync(CancellationToken token);
所以,在我的实现中,我得到了以下签名:
public async Task<Model> GetDataAsync(CancellationToken token)
然而,这个实现缺乏任何异步调用;只有一个常规的:return x.firstOrDefault...
于是我遇到了下一个问题;需要一些建议;我应该使用 await Task.Run(...);
来实现我需要的接口吗?还是有更好的方法?有什么好处。
Task.FromResult(...)
,在另一个线程中运行并不会使它异步。 - orhtej2await Task.Run
只会增加无用的上下文切换。 - Vladi Pavelka