Task.Result跟 Task.GetAwaiter.GetResult()相同吗?怎么选?
跟着阿笨一起玩NET
共 623字,需浏览 2分钟
·
2021-12-22 20:09
作者:依乐祝 原文地址:
https://www.cnblogs.com/yilezhu/p/13168337.html
前几天在用线程池执行一些任务时运到一种情形,就是回调方法中使用到了异步方法,但是回调方法貌似不支持async await
的写法。这时候我应该如何处理呢?是使用Task.Result
来获取返回结果,还是使用GetAwaiter.GetResult()
呢?本文就来探讨下吧。
为此我查找了相关的资料,对它俩的区别做一个简单的总结:
其实这两个使用方式是差不多的。不过,还是有一点小小的区别的:如果任务失败,Task.GetAwaiter().GetResult()
会直接抛出异常,而Task.Result
则会把异常包装在AggregateException
中。从这个角度说Task.GetAwaiter().GetResult()
要优于Task.Result
。毕竟它少了异常的包装操作,即直接抛出异常,而不是把异常包装在AggregateException
中。
总结
通过上述内容的阐述,因此在那些必须对异步任务进行同步阻塞的场景中,我选择使用GetAwaiter().GetResult()
。
评论
短信平台怎么选?
短信平台怎么选?其实这个问题小编之前也总结了很多,归结起来无非就是几个方面:
1、公司资质
这是合作的前提,营业执照、税务登记、官网备案、全国增值电信业务经营许可证等,这些既是实力的象征,也是预防上当受骗的基础。
2、售后服务
短信作为产品,它的属性之一就是不稳定性,这里面包含多种不可控因素。因此一旦出现问题,短信服务平台能否以最快的速度给出合理的解决方案,对于用户来说非常必要和关键。这点如何做判断呢?可以依靠别人的经验。比如很多朋友会推荐卡洛思短信,那么当你选择这个平台时可以先少量试用一段时间,如果一切都比较满意,那再继续合作。
3、价格
短信的利润其实非常低,但是有些公司会给出更低甚至低于成本的价格,但对应的是需要一
张浩
0
平台or职位,你怎么选?
这里是Z哥的个人公众号每周五11:45 按时送达当然了,也会时不时加个餐~我的第「150」篇原创敬上大家好,我是Z哥。这周有位小伙伴和我聊到一个问题,选择工作的时候是平台重要还是职位重要?我想,很多工作时间不长...
跨界架构师
0
小型企业erp该怎么选?
什么样的软件比较好,企业该怎样选择软件?一直是想要实现数字化管理的企业所面临的首要问题。小型企业不同于中大型企业,能够花费巨额的费用来做软件的定制开发。小型企业erp的选择更多地是追求性价比。那么小型企业erp该怎么选?下面我们从三个方面入手 ,进行分析:
一、标准版软件
小型企业erp该怎么选?软件的选择需要根据企业的需求和实际情况而定。对于需求较为简单的小型企业来说,用标准版软件就能够满足企业的需求。而市面上也有许多适合小型企业的erp,能够满足企业对于员工管理、客户管理、进销存管理以及财务管理的一体化管理需求。小型企业erp能够帮助企业实现内部资源的整合管理,从而提升小型企业的管理效率。
二、个性化定制开发
小型
云路天行
0
客服系统应该怎么选?
很荣幸能够你回答您的这个问题,今天向您隆重介绍一款操作便捷、功能齐备、性价比高的在线客服系统——火烈云智能客服,您的贴心智能客服管家。
1.智能AI机器人帮助您0.1秒内回答海量用户疑问。
2.操作便捷,多平台支持接入,确保不遗漏任何一个客户。
3.智能工单系统,帮助企业各个部门合作运行,大大提升办公效率。
4.CRM体系精准记录客服信息,营销策略更有针对性。
亮点功能
火烈云智能客服,功能强大,是您享受便捷的不二之选,现在新人注册还可以领取30天的免费试用福利,如此贴心的火烈云在线客服,您还在等什么呢?
希望我的回答能够对您有所帮助,同时也欢迎进入官网、了解更多。
火烈云在线客服
火烈云在线客服
0