等Task.CompletedTask干嘛?

它的存在是为了使后期更容易实现异步代码调用,而不必更改签名,从而避免必须重构调用代码。
虽然搭建的示例代码是同步的,但Template Studio是专门围绕异步数据访问层设计的,您可以通过修改生成的方法的主体来实现自己的数据访问。
如果没有实现异步实现,整个模板化应用程序将有重大的代码更改,对于新开发人员来说,这将是一个非常陡峭的学习曲线,模板的要点是以最少的努力或经验启动和运行!
另一种选择是从方法签名和该行中删除async关键字
代码语言:javascript运行复制return Task.FromResult
然而,在这种情况下,由于它是一个模板,他们希望人们用await FetchDataFromDatabaseAsync();之类的东西替换await Task.Completed。由于async关键字已经存在,它最大限度地减少了实现您自己的异步调用所需的更改。
不管怎样,如果没有这个await构造,你可以这样做:
代码语言:javascript运行复制public class SampleModelService
{
public Task
{
var data = new List
data.Add(new SampleModel
{
Title = "Lorem ipsum dolor sit 1",
Description = "Lorem ipsum dolor sit amet",
Symbol = Symbol.Globe
});
data.Add(new SampleModel
{
Title = "Lorem ipsum dolor sit 2",
Description = "Lorem ipsum dolor sit amet",
Symbol = Symbol.MusicInfo
});
return Task.FromResult
}
}如果根本不需要返回一个Task (您没有任何异步代码),那么就完全删除它。(但随后您必须重构调用此方法的代码)
回顾这段代码,我怀疑有人会在以后的开发过程中调用异步方法,并且已经预料到,通过指定此方法返回Task,就会调用异步方法。