【问题标题】:When to use await keyword何时使用 await 关键字
【发布时间】:2023-03-24 18:55:01
【问题描述】:

如果一个方法被声明为'async',当我们调用那个方法时,我们可以使用await或者不使用它。我想知道什么时候用它,用它有什么效果。

【问题讨论】:

  • 你正在倒退:只有在需要使用await 时才应该使用async。当您需要异步等待某些操作时,您可以使用await

标签: c# .net-4.5 async-await


【解决方案1】:

async 关键字只是向编译器指示该方法可能包含等待语句。

Eric Lippert 有一篇有趣的帖子解释了设计选择

要求“异步”意味着我们可以一次性消除所有向后兼容性问题;任何包含 await 表达式的方法都必须是“新构造”代码,而不是“旧工作”代码,因为“旧工作”代码从来没有 async 修饰符。

http://blogs.msdn.com/b/ericlippert/archive/2010/11/11/whither-async.aspx

【讨论】:

    【解决方案2】:

    标记的异步方法通常使用 await 来指定暂停点。 await 运算符告诉编译器,在等待的异步过程完成之前,异步方法不能继续超过该点。同时,控制权返回给异步方法的调用者。

    换句话说,如果你正在做 asyncronius 编程并且想要同时运行某些线程任务,你会想要依赖 async 和 await

    这里有更详细的解释

    http://msdn.microsoft.com/en-us/library/vstudio/hh191443.aspx

    【讨论】:

      猜你喜欢
      • 2013-05-26
      • 2020-04-20
      • 1970-01-01
      • 2023-03-13
      • 1970-01-01
      • 2015-06-08
      • 2016-03-05
      • 2018-06-18
      • 2019-05-31
      相关资源
      最近更新 更多