c# Task.FromResult 的基本用法和实例

c#  Task.FromResult 的基本用法和实例

This method is useful when you perform an asynchronous operation that returns a Task object, and the result of that Task object is already computed

There are two common use cases I‘ve found:

  1. When you‘re implementing an interface that allows asynchronous callers, but your implementation is synchronous.
  2. When you‘re stubbing/mocking asynchronous code for testing

上面总体来说是用于单元测试;

然后还有在我们读取缓存的时候有用; 微软官方博客实例;

https://docs.microsoft.com/en-us/dotnet/standard/parallel-programming/how-to-create-pre-computed-tasks

上面的思想:

This method is useful when you perform an asynchronous operation that returns a Task object, and the result of that Task object is already computed.

已经计算出来了,或者已经缓存好了,基本想要的值;

时间: 2024-08-03 10:42:21

c# Task.FromResult 的基本用法和实例的相关文章

tinyxml的用法和实例

现在很多协议都用xml来设计,方便扩展,也具有兼容性.现在流行的json和gson就不说了,应用比较多的tinyxml也是很不错的.下面介绍下tinyxml的用法和实例. 使用tinyxml,需要在工程中包含其源码,并在头文件建立引用关系.下面是一个简单的例子,按照层次关系打印出xml文件. 代码如下: #include "stdafx.h" #include "targetver.h" #include "tinystr.h" #include

c#—— Task.FromResult 的使用

Task.FromResult用来创建一个带返回值的.已完成的Task. 场景一:以同步的方式实现一个异步接口方法 比如有一个接口包含异步方法. interface IMyInterface { Task<int> DoSthAsync(); } 现在,需要以同步的方式实现该接口方法DoSthAsync,但要返回异步的结果.这正是Task.FromResult的用武之地. public class MyClass : IMyInterface { public Task<int>

Task.FromResult应用场景举例

Task.FromResult用来创建一个带返回值的.已完成的Task. 场景一:以同步的方式实现一个异步接口方法 比如有一个接口包含异步方法. interface IMyInterface { Task<int> DoSthAsync(); } 现在,需要以同步的方式实现该接口方法DoSthAsync,但要返回异步的结果.这正是Task.FromResult的用武之地. public class MyClass : IMyInterface { public Task<int>

如何使用Task.FromResult?

Task.FromResult 字数:889字 预计阅读时间:3分钟 1.解释 官方定义:创建一个结果的.成功完成的Task<TResult>. public static System.Threading.Tasks.Task<TResult> FromResult<TResult> (TResult result); 可以看出,Task.FromResult( )方法接受一个TResult然后返回一个Task<TResult>. 2.例子 使用 Task

Linux(centos8)下的yum的基本用法和实例

原文:Linux(centos8)下的yum的基本用法和实例 yum 命令 Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器.基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载.安装. yum 语法 ? 1 yum [options] [command] [package ...] options:可选,选

PHP foreach()用法和实例

原网址:http://blog.csdn.net/china_skag/article/details/6444727 PHP 4 引入了 foreach 结构,和 Perl 以及其他语言很像.这只是一种遍历数组简便方法.foreach 仅能用于数组,当试图将其用于其它数据类型或者一个未初始化的变量时会产生错误.有两种语法,第二种比较次要但却是第一种的有用的扩展. foreach (array_expression as $value)    statement foreach (array_e

php foreach用法和实例

PHP 4 引入了 foreach 结构,和 Perl 以及其他语言很像.这只是一种遍历数组简便方法.foreach 仅能用于数组,当试图将其用于其它数据类型或者一个未初始化的变量时会产生错误.有两种语法,第二种比较次要但却是第一种的有用的扩展.foreach (array_expression as $value)statement foreach (array_expression as $key => $value)statement第一种格式遍历给定的 array_expression

Global.asax的用法和实例(转)

Global.asax 文件,有时候叫做 ASP.NET 应用程序文件,提供了一种在一个中心位置响应应用程序级或模块级事件的方法.你可以使用这个文件实现应用程序安全性以及其它一些任务.下面让我们详细看一下如何在应用程序开发工作中使用这个文件. 概述 Global.asax 位于应用程序根目录下.虽然 Visual Studio .NET 会自动插入这个文件到所有的 ASP.NET 项目中,但是它实际上是一个可选文件.删除它不会出问题——当然是在你没有使用它的情况下..asax 文件扩展名指出它是

Matlab 之meshgrid, interp, griddata 用法和实例(转)

http://blog.sina.com.cn/s/blog_67f37e760101bu4e.html 实例结果http://wenku.baidu.com/link?url=SiGsFZIxuS1E1VZWtixqXdjG5Y9SY4tu1W8TXgk147HDOLLCgpffjX8ywDMIH1PYkQSi5rp8gkmnMPsLhH-IUaGjMl8hsRhZQssTPmnBjdy 关于MATLAB 插值(Interpolation)http://blog.sina.com.cn/s/b