序
博主简单数了下自己发布过的异步文章,已经断断续续 8 篇了,这次我想以 async 的返回类型为例,单独谈谈。
异步方法具有三个可让开发人员选择的返回类型:Task<TResult>、Task 和 void。
什么时候需要使用哪一种返回类型,具体情况需要具体分析。如果使用不当,程序的执行结果也许并不是你想要的,下面我们就来好好谈谈如何针对不同的情况选择不同的返回类型。
目录
- 返回类型 - Task<TResult>
- 返回类型 - Task
- 返回类型 - void
- 小结
一、返回类型 - Task<TResult>
【记住】当你添加 async 关键字后,需要返回一个将用于后续操作的对象,请使用 Task<TResult>。
Task<TResult> 返回类型可用于 async 方法,其中包含指定类型 TResult
。
在下面的示例中,GetDateTimeAsync 异步方法包含一个返回当前时间的 return 语句。 因此,方法声明必须指定 Task<DateTime>
。
async Task<DateTime> GetDateTimeAsync() { //Task.FromResult 是一个占位符,类型为 DateTime return await Task.FromResult(DateTime.Now); }
调用 GetDateTimeAsync 方法: