摘要: 1. 在等待时拆包异常 在等待任务时,任务出错或取消都将抛出异常,但并不是 AggregateException 。大多情 况下为方便起见,抛出的是 AggregateException 中的第一个异常,往往这就是我们想要的。 异步特性就是像编写同步代码那样编写异步代码,如下所示: 目前,先不要在意 阅读全文
posted @ 2018-12-15 21:47 一只桔子2233 阅读(361) 评论(0) 推荐(0) 编辑
摘要: 15.3.1 声明异步方法和返回类型 15.3.3 可等待模式 大量工作都是通过模式来表示的,这有点类似于 foreach 和LINQ查询。为了更清晰地描述该模式的轮廓,假设存在一些相关的接口(但实际并没有)。稍后我会介绍真实情况,现在先来看看虚构的接口: 前面讲述了什么样的表达式可以作为 awai 阅读全文
posted @ 2018-12-15 20:24 一只桔子2233 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 注意, task 的类型是 Task<string> ,而 await task 表达式的类型是 string 。也就是说,await 表达式执行的是“拆包”(unwrap)操作,至少在被等待的值为 Task<TResult> 时是这样。(还可以等待其他类型,但 Task<TResult> 是一个不 阅读全文
posted @ 2018-12-15 10:11 一只桔子2233 阅读(181) 评论(0) 推荐(0) 编辑