等待具有不同结果的多个任务

2023-12-08

我有3个任务:

private async Task<Cat> FeedCat() {}
private async Task<House> SellHouse() {}
private async Task<Tesla> BuyCar() {}

它们都需要先运行,然后我的代码才能继续,并且我也需要每个的结果。所有结果都没有任何共同点

如何调用并等待 3 个任务完成然后获取结果?


使用后WhenAll,您可以使用以下命令单独提取结果await:

var catTask = FeedCat();
var houseTask = SellHouse();
var carTask = BuyCar();

await Task.WhenAll(catTask, houseTask, carTask);

var cat = await catTask;
var house = await houseTask;
var car = await carTask;

[请注意,异步方法始终返回“热”(已启动)任务。]

您还可以使用Task.Result(因为此时您知道它们都已成功完成)。不过,我建议使用await因为它显然是正确的,同时Result可能会在其他情况下导致问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

等待具有不同结果的多个任务 的相关文章

  • 如何将 std::string& 转换为 C# 引用字符串

    我正在尝试将 C 函数转换为std string参考C 我的 API 如下所示 void GetStringDemo std string str 理想情况下 我希望在 C 中看到类似的东西 void GetStringDemoWrap r
  • STL 迭代器:前缀增量更快? [复制]

    这个问题在这里已经有答案了 可能的重复 C 中的预增量比后增量快 正确吗 如果是 为什么呢 https stackoverflow com questions 2020184 preincrement faster than postinc
  • 通过引用传递 [C++]、[Qt]

    我写了这样的东西 class Storage public Storage QString key const int value const void add item QString int private QMap
  • 如何在 Cassandra 中存储无符号整数?

    我通过 Datastax 驱动程序在 Cassandra 中存储一些数据 并且需要存储无符号 16 位和 32 位整数 对于无符号 16 位整数 我可以轻松地将它们存储为有符号 32 位整数 并根据需要进行转换 然而 对于无符号 64 位整
  • C++11 删除重写方法

    Preface 这是一个关于最佳实践的问题 涉及 C 11 中引入的删除运算符的新含义 当应用于覆盖继承父类的虚拟方法的子类时 背景 根据标准 引用的第一个用例是明确禁止调用某些类型的函数 否则转换将是隐式的 例如最新版本第 8 4 3 节
  • 如何在 C# 中打开 Internet Explorer 属性窗口

    我正在开发一个 Windows 应用程序 我必须向用户提供一种通过打开 IE 设置窗口来更改代理设置的方法 Google Chrome 使用相同的方法 当您尝试更改 Chrome 中的代理设置时 它将打开 Internet Explorer
  • 为什么 GCC 不允许我创建“内联静态 std::stringstream”?

    我将直接前往 MCVE include
  • C++ 多行字符串原始文字[重复]

    这个问题在这里已经有答案了 我们可以像这样定义一个多行字符串 const char text1 part 1 part 2 part 3 part 4 const char text2 part 1 part 2 part 3 part 4
  • 需要帮助优化算法 - 两百万以下所有素数的总和

    我正在尝试做一个欧拉计划 http projecteuler net问题 我正在寻找 2 000 000 以下所有素数的总和 这就是我所拥有的 int main int argc char argv unsigned long int su
  • 方程“a + bx = c + dy”的积分解

    在等式中a bx c dy 所有变量都是整数 a b c and d是已知的 我如何找到整体解决方案x and y 如果我的想法是正确的 将会有无限多个解 由最小公倍数分隔b and d 但我只需要一个解决方案 我可以计算其余的 这是一个例
  • 人脸 API DetectAsync 错误

    我想创建一个简单的程序来使用 Microsoft Azure Face API 和 Visual Studio 2015 检测人脸 遵循 https social technet microsoft com wiki contents ar
  • ASP.NET Core 3.1登录后如何获取用户信息

    我试图在登录 ASP NET Core 3 1 后获取用户信息 如姓名 电子邮件 id 等信息 这是我在登录操作中的代码 var claims new List
  • 相当于Linux中的导入库

    在 Windows C 中 当您想要链接 DLL 时 您必须提供导入库 但是在 GNU 构建系统中 当您想要链接 so 文件 相当于 dll 时 您就不需要链接 为什么是这样 是否有等效的 Windows 导入库 注意 我不会谈论在 Win
  • C# 中的 IPC 机制 - 用法和最佳实践

    不久前我在 Win32 代码中使用了 IPC 临界区 事件和信号量 NET环境下场景如何 是否有任何教程解释所有可用选项以及何时使用以及为什么 微软最近在IPC方面的东西是Windows 通信基础 http en wikipedia org
  • 对于某些 PDF 文件,LoadIFilter() 返回 -2147467259

    我正在尝试使用 Adob e IFilter 搜索 PDF 文件 我的代码是用 C 编写的 我使用 p invoke 来获取 IFilter 的实例 DllImport query dll SetLastError true CharSet
  • 为什么C++代码执行速度比java慢?

    我最近用 Java 编写了一个计算密集型算法 然后将其翻译为 C 令我惊讶的是 C 的执行速度要慢得多 我现在已经编写了一个更短的 Java 测试程序和一个相应的 C 程序 见下文 我的原始代码具有大量数组访问功能 测试代码也是如此 C 的
  • C++ 中的 include 和 using 命名空间

    用于使用cout 我需要指定两者 include
  • 为什么 std::uint32_t 与 uint32_t 不同?

    我对 C 有点陌生 我有一个编码作业 很多文件已经完成 但我注意到 VS2012 似乎有以下语句的问题 typedef std uint32 t identifier 不过 似乎将其更改为 typedef uint32 t identifi
  • C++ 中的参考文献

    我偶尔会在 StackOverflow 上看到代码 询问一些涉及函数的重载歧义 例如 void foo int param 我的问题是 为什么会出现这种情况 或者更确切地说 你什么时候会有 对参考的参考 这与普通的旧参考有何不同 我从未在现
  • 在OpenGL中,我可以在坐标(5, 5)处精确地绘制一个像素吗?

    我所说的 5 5 正是指第五行第五列 我发现使用屏幕坐标来绘制东西非常困难 OpenGL 中的所有坐标都是相对的 通常范围从 1 0 到 1 0 为什么阻止程序员使用屏幕坐标 窗口坐标如此严重 最简单的方法可能是通过以下方式设置投影以匹配渲

随机推荐

  • req.user 在 Google Passport 策略中不可用

    我有一个快速应用程序 它通过 Passport 管理身份验证 最初使用本地策略 为此 我刚刚添加了 Google 登录 帐户创建 几乎一切都按照文档进行 我遇到的问题是 用户可以使用 Google 策略创建帐户 但我无法完全理解它 以便经过
  • 如何路由 /About 到 /Home/About

    我刚刚开始使用 ASP NET MVC 这太棒了 但是 我不太明白设置路线 如何将 About 路由到 Home About 视图 主页 About aspx 我希望能够通过以下方式访问它 首页 关于要不就 About 如果你想明确地为其设
  • 预填充 Django 表单

    我试图从查询中获取 Django 表单 但我一直以错误的方式进行操作 检查了几个例子 但我做的有点不同 这是我的代码 Le Form class ItemForm ModelForm class Meta model Item exclud
  • 我可以通过多边形绑定 st_distance 调用吗?

    我看过关于这个主题的类似帖子 例如 here and here 但不是 sf tidyverse 生态系统特有的 I have a series of lakes a series of sample points within each
  • 在 Firebug 中查看 CSS 伪元素

    是否有任何解决方法可以查看 CSS 伪元素 例如 after before等 称为CSS3 生成和替换的内容模块 在萤火虫中 现在 当我选择一个元素时 我只能看到应用于它的静态 CSS 我没有看到使用样式应用于它 after and bef
  • ANSI 颜色集图形渲染在批次中中断并在继续后工作

    我有一个批处理 其中有一个子部分 该子部分迭代 EXE 文件的行以尝试运行 然后该批处理根据 EXE 的退出代码对 EXE 进行排序 由于某种原因 ANSI SGR 在设置前一个图形渲染而不是重新渲染后似乎会破坏或回显文字文本 我回去重新参
  • 如何对 pandas 数据帧上的最大和最小时间戳进行分组

    我想对数据集进行分组并返回最大和最小时间戳 这是我的数据 id timestamp 1 2017 09 17 10 09 01 2 2017 10 02 01 13 15 1 2017 09 17 10 53 07 1 2017 09 17
  • 如何激活全屏控制DOTS(SDK14)

    有人知道我的意思吗 在我的 Galaxy Nexus 上的新相机应用程序的全屏模式下 控制按钮变为 3 个点 我如何以编程方式激活它 您可以使用 getWindow getDecorView setSystemUiVisibility Vi
  • 使用 Jest 模拟命名导入

    我有一个 notifications js 模块 看起来有点像这样 import Notifications Permissions from expo export function setLocalNotification storag
  • 将收集数据从 HTML/Razor 表单发送/发布到 MVC 操作参数模型

    我正在开发一个项目 使用 ASP NET MVC 5 帮助学生和顾问选择下学期的最佳课程 第一步是让学生从列表中选择他已经选修的课程 显示列表的控制器是 public ActionResult AddCourseVM int id Stud
  • 简单的 CSS 动画循环 – 淡入和淡出“正在加载”文本

    如果没有 Javascript 我想制作一个简单的循环 CSS 动画类 可以无限地淡入和淡出文本 我对 CSS 动画了解不多 所以我还没有弄清楚 但这是我已经取得的进展 keyframes flickerAnimation flame pu
  • postgres 中多列的聚合函数

    我有一个 postgresql 表 其中包含多个包含整数的字段 a1 a2 a3 等 我想一次在多个列上运行聚合函数 均值 标准差等 其中一些可能有合理数量的空值 所以我不想只生成列平均值 然后对它们进行平均 我可以得到一组整数 SELEC
  • 我应该如何验证传递到 WCF 服务的参数?

    通常 您使用以下命令检查公共方法中的传入参数if then throw模式或代码合同 我的问题是 我应该如何验证 WCF 服务中传递的参数 例如 我有以下合同 OperationContract Stock GetStock string
  • 在模型 Firebase 上保存 userId

    我有一个与如何使用 firebase 保存用户信息相关的问题 我扩展了用户身份验证 并在 json 树上创建了一个新的用户节点 每个用户都有由 firebase 生成的自己的 id 并且用户信息位于该密钥 id 内 问题是 每次我这样做时
  • 如何在代理后面推送到heroku?

    我在大学的代理服务器后面使用 git 在尝试执行时 git push heroku master 我收到一个错误 ssh connect to host proxy heroku com port 22 Bad file number fa
  • 将 CSV 扫描到变量

    我有一个像这样的 CSV 一行 101 120 130 我怎样才能将它们扫描成这样的变量 pt num 101 x 120 y 130 只需使用csvread M csvread filename csv pt num M 1 x M 2
  • 如何通过查询获取MySQL中的数据库结构?

    是否有可能以某种方式获取 MySQL 数据库的结构 或者只是一些带有简单查询的表 或者还有其他方法吗 我该怎么做 我认为你所追求的是DESCRIBE DESCRIBE table 您还可以使用SHOW TABLES SHOW TABLES
  • 为什么在这种情况下使用泛型会出现 ClassCastException?

    这是代码 一个简单的泛型类并尝试将一个整数分配给aa 0 public class GenericTest
  • 如果无法传递 POST 响应,如何回滚事务

    使用 Spring MVC 假设我已经实现了一个控制器 用于处理 POST 请求 在事务内执行数据库操作 并在响应正文中返回结果 这是控制器和服务层 RestController RequiredArgsConstructor public
  • 等待具有不同结果的多个任务

    我有3个任务 private async Task