当方法仅在 return 语句处等待时,将方法标记为异步是否有用? [复制]

2023-11-21

只有下面方法的最后一行在方法返回之前使用了“await”,所以这是否意味着该方法基本上是同步的,应该只调用“Get()”而不使用 async 修饰符和后缀 Async?

public virtual async Task<TEntity> GetAsync(Guid id)
{
    // some more code here
    return await _dbSet.FindAsync(id);
}

这是否意味着该方法基本上是同步的

不,它是异步的。你可能正在想顺序的(从一件事进展到另一件事),而不是同步(阻塞当前线程)。一个await将暂停该方法(顺序)但不会阻塞线程(异步)。欲了解更多信息,请参阅我的async intro.

没有 async 修饰符

当你could删除async/await关键词,我建议你不要这样做。这是因为// some more code here可能会抛出异常。我在我的博客文章中介绍了这一点和其他注意事项eliding async and await.

和后缀异步?

不,该后缀适用于任何返回可等待的方法(例如,Task)。所以,即使你忽略了async and await,它仍然返回一个任务should正在等待,所以它应该仍然有Async suffix.

你可以这样想:Async后缀是API接口的一部分。这async关键字是实现细节。他们经常一起去,但并非总是在一起。

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

当方法仅在 return 语句处等待时,将方法标记为异步是否有用? [复制] 的相关文章

  • 使用 gcc 在 Linux 上运行线程构建块 (Intel TBB)

    我正在尝试为线程构建块构建一些测试 不幸的是 我无法配置 tbb 库 链接器找不到库 tbb 我尝试在 bin 目录中运行脚本 但这没有帮助 我什至尝试将库文件移动到 usr local lib 但这又失败了 任何的意见都将会有帮助 确定您
  • 结构化绑定中缺少类型信息

    我刚刚了解了 C 中的结构化绑定 但有一件事我不喜欢 auto x y some func is that auto正在隐藏类型x and y 我得抬头看看some func的声明来了解类型x and y 或者 我可以写 T1 x T2 y
  • 如何将 std::string& 转换为 C# 引用字符串

    我正在尝试将 C 函数转换为std string参考C 我的 API 如下所示 void GetStringDemo std string str 理想情况下 我希望在 C 中看到类似的东西 void GetStringDemoWrap r
  • 类型中的属性名称必须是唯一的

    我正在使用 Entity Framework 5 并且有以下实体 public class User public Int32 Id get set public String Username get set public virtual
  • 通过引用传递 [C++]、[Qt]

    我写了这样的东西 class Storage public Storage QString key const int value const void add item QString int private QMap
  • 如何从 Visual Studio 将视图导航到其控制器?

    问题是解决方案资源管理器上有 29 个项目 而且项目同时具有 ASP NET MVC 和 ASP NET Web 表单结构 在MVC部分中 Controller文件夹中有大约100个子文件夹 每个文件夹至少有3 4个控制器 视图完全位于不同
  • C++ 多行字符串原始文字[重复]

    这个问题在这里已经有答案了 我们可以像这样定义一个多行字符串 const char text1 part 1 part 2 part 3 part 4 const char text2 part 1 part 2 part 3 part 4
  • 方程“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
  • C# 列表通用扩展方法与非通用扩展方法

    这是一个简单的问题 我希望 集合类中有通用和非通用方法 例如List
  • 在 Unity 中实现 Fur with Shells 技术

    我正在尝试在 Unity 中实现皮毛贝壳技术 http developer download nvidia com SDK 10 5 direct3d Source Fur doc FurShellsAndFins pdf Fins 技术被
  • 如何获取 EF 中与组合(键/值)列表匹配的记录?

    我有一个数据库表 其中包含每个用户 年份组合的记录 如何使用 EF 和用户 ID 年份组合列表从数据库获取数据 组合示例 UserId Year 1 2015 1 2016 1 2018 12 2016 12 2019 3 2015 91
  • 结构体的内存大小不同?

    为什么第一种情况不是12 测试环境 最新版本的 gcc 和 clang 64 位 Linux struct desc int parts int nr sizeof desc Output 16 struct desc int parts
  • 为什么 C# 2.0 之后没有 ISO 或 ECMA 标准化?

    我已经开始学习 C 并正在寻找标准规范 但发现大于 2 0 的 C 版本并未由 ISO 或 ECMA 标准化 或者是我从 Wikipedia 收集到的 这有什么原因吗 因为编写 审查 验证 发布 处理反馈 修订 重新发布等复杂的规范文档需要
  • 两个类可以使用 C++ 互相查看吗?

    所以我有一个 A 类 我想在其中调用一些 B 类函数 所以我包括 b h 但是 在 B 类中 我想调用 A 类函数 如果我包含 a h 它最终会陷入无限循环 对吗 我能做什么呢 仅将成员函数声明放在头文件 h 中 并将成员函数定义放在实现文
  • C# xml序列化必填字段

    我需要将一些字段标记为需要写入 XML 文件 但没有成功 我有一个包含约 30 个属性的配置类 这就是为什么我不能像这样封装所有属性 public string SomeProp get return someProp set if som
  • C# 中的 IPC 机制 - 用法和最佳实践

    不久前我在 Win32 代码中使用了 IPC 临界区 事件和信号量 NET环境下场景如何 是否有任何教程解释所有可用选项以及何时使用以及为什么 微软最近在IPC方面的东西是Windows 通信基础 http en wikipedia org
  • C++ 中的 include 和 using 命名空间

    用于使用cout 我需要指定两者 include
  • 类型或命名空间“MyNamespace”不存在等

    我有通常的类型或命名空间名称不存在错误 除了我引用了程序集 using 语句没有显示为不正确 并且我引用的类是公共的 事实上 我在不同的解决方案中引用并使用相同的程序集来执行相同的操作 并且效果很好 顺便说一句 这是VS2010 有人有什么
  • 现代编译器是否优化乘以 1 和 -1

    如果我写 template

随机推荐

  • 使用 dlopen 和 dlsym 以及 -fPIC 编译 C 程序

    我遇到了符号解析错误的问题 我的主程序使用 dlopen 加载共享库 并使用 dlsym 加载其中的符号 程序和库都是用 C 编写的 库代码 int a int b return b 1 int c int d return a d 1 为
  • 16 位浮点数和 GL_HALF_FLOAT

    我正在寻找 编写一个 16 位浮点数的 C 实现 以便与 OpenGL 顶点缓冲区 纹理坐标 法线等 一起使用 到目前为止 这是我的要求 必须是 16 位 显然 必须能够使用 GL HALF FLOAT 上传到 OpenGL 顶点缓冲区 必
  • 使用 Raphael.js 在图像上绘图

    我可以将 Raphael js 画布放在IMG元素 我应该怎么做才能使这个布局发挥作用 只需使用普通 CSS 技术将 Rapha l 画布放置在图像元素的顶部即可 wrapper position relative padding 0 ou
  • 为什么 geom_text() 多次绘制文本?

    请考虑以下最小示例 library ggplot2 library ggrepel ggplot mtcars aes x mpg y qsec geom line geom text x 20 y 20 label 20 20 我想您可以
  • 什么是严格类型语言? [复制]

    这个问题在这里已经有答案了 什么是严格类型语言 严格类型化语言强制对所有交互的数据进行类型化 例如 int i 3 string s 4 从现在开始 每当您使用 i 时 您只能将其作为整数类型进行交互 这意味着您只能使用处理整数的方法 至于
  • 正则表达式字符与 grep 一致重复 n 次或多次

    我需要找到正则表达式来查找使用 grep 重复 4 次或更多次的字符 我知道表达式是 n 所以如果我需要查找行 例如 当字符 g 重复 4 次或更多次时 理论上 grep 手册页是 grep g 4 textsamplefile 但不起作用
  • 是否可以通过文本装饰来制作 CSS 动画?

    我正在尝试使用CSS对一段文本进行动画处理 但它实际上并不是动画 只是从隐藏到显示 谁能告诉我我正在尝试的事情是否真的可行 如果没有 还有其他方法可以实现这一目标吗 HTML div The text in the span span cl
  • Linux x86_64汇编socket编程

    我正在学习汇编 按照我通常学习的任何新语言的步骤 我已经通过汇编实现了网络化 遗憾的是 进展并不顺利 因为我在第 0 步几乎失败了 这将获得一个可以开始通信的套接字 汇编代码应大致等于以下 C 代码 include
  • 为 Woocommerce 中的订单添加额外元数据

    我正在为我的网站创建一个自定义插件 在这个插件的某些部分我需要存储额外的元数据wp postmeta对于每个订单 我在我的插件类中添加了这个 add action woocommerce before checkout process ar
  • 是否可以在 Axios 中发布 responseType: 'stream' ?

    我正在尝试编辑 Axios 的实例 以便响应类型应该是 stream 而不是标准的 JSON 从 S O 上的其他帖子中我似乎不清楚 如何实现这一点 这是死路一条吗 我当前的 Axios 实例 import axios from axios
  • WidgetBundle 根据某些逻辑返回小部件

    我已经为我的应用程序准备了几个 iOS14 主屏幕小部件 并将它们全部返回WidgetBundle像这样 main struct WidgetsBudle WidgetBundle WidgetBundleBuilder var body
  • 辅助功能服务 - PerformGlobalAction() 返回 false

    我正在创建一个Android无障碍服务哪个调用执行全局动作 at onStartCommand public int onStartCommand Intent intent int flags int startId Log d serv
  • Git-Tfs:每个 Git 提交都有一个 TFS 变更集?

    在工作中 我们使用 TFS 我正在尝试让 Git TFS 工具正常工作 以便在将本地提交推送到我们的 TFS 存储库之前在处理本地提交时拥有更大的灵活性 我有这个工作 但是当我做一个git tfs ct 它将我的所有提交检查到一个 TFS
  • CSS 网格中的等宽列

    我想让下面的 html 在 n 个相等的列中显示 使用 css 网格的行元素是否有两个 三个或更多子元素 Flexbox 使这很容易 但我无法使用 css 网格完成它 任何帮助受到赞赏 div class row div class ite
  • 有没有办法在 iOS 7 中禁用键盘的透明度?

    我想要一个带有不透明键盘的键盘 我无法使用任何受支持的 UIKeyboardTypes 获得此键盘 还有其他办法解决这个问题吗 我想我可以用我想要的颜色覆盖键盘下的背景视图 有没有一种好的方法可以使背景视图与键盘显示动画同步 当使用 iOS
  • 使用 stat_summary 用观察数来注释绘图

    我该如何使用stat summary标记一个图n x哪里x一个变量 这是所需输出的示例 我可以用这个相当低效的代码来制作上面的图 nlabels lt sapply 1 length unique mtcars cyl function i
  • Mercurial 如何处理分割的文件?

    Mercurial 如何处理分割的文件 如果我创建一个分支并拆分一个文件会发生什么 我可以轻松地从修改原始未分割文件的另一个分支中提取更改吗 我只是做了一个小实验 我创建了一个存储库 foo 与一个大文件 然后我将其克隆到bar used
  • JSF 在 SVG 之后吞掉结束标签

    我用的是两个
  • 停止 MySQL 在 UNIQUE 约束中容忍多个 NULL

    Mysql 架构是 CREATE TABLE Foo bar INT NULL name VARCHAR 59 NOT NULL UNIQUE name bar ENGINE INNODB MySQL 允许重复以下语句 从而导致重复 INS
  • 当方法仅在 return 语句处等待时,将方法标记为异步是否有用? [复制]

    这个问题在这里已经有答案了 只有下面方法的最后一行在方法返回之前使用了 await 所以这是否意味着该方法基本上是同步的 应该只调用 Get 而不使用 async 修饰符和后缀 Async public virtual async Task