为什么在必须使用等待时使用异步?

托比:

我已经在这个问题上停留了一段时间了,实际上还没有找到任何有用的说明。

如果我有async类似方法:

public async Task<bool> MyMethod()
{
    // Some logic
    return true;
}

public async void MyMethod2()
{
    var status = MyMethod(); // Visual studio green lines this and recommends using await
}

如果await在这里使用,异步方法的意义是什么?难道asyncVS告诉我打电话没用await吗?这是否不辜负不等待任务完成就将任务卸载到线程的目的?

谢尔盖·贝列佐夫斯基(Sergey Berezovskiy):

如果我在这里使用await,那么异步方法的意义何在?

await不阻塞线程。MyMethod2将同步运行直到到达await表达式。然后MyMethod2将被挂起,直到等待的任务(MyMethod)完成。虽然MyMethod没有完成控制将返回到呼叫者MyMethod2这点await- 主叫方将继续这样做的工作

是不是让VS告诉我打电话给await的异步方法没有用?

async 只是一个标志,意思是“方法中的某个地方您有一个或多个正在等待”。

这是否不辜负不等待任务完成就将任务卸载到线程的目的?

如上所述,您不必等待任务完成。这里没有任何障碍。

注意:要遵循框架命名标准,建议您将Async后缀添加到异步方法名称中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么在使用异步等待语法时仍然需要等待while循环?

来自分类Dev

为什么在关键事件上使用异步等待时出现不可预测的结果

来自分类Dev

为什么在使用异步等待时尽管观察到仍抛出UnobservedTaskException?

来自分类Dev

为什么在Promises上使用异步/等待时,netlify-lambda会记录UnhandledPromiseRejectionWarning?

来自分类Dev

为什么在测试时必须使用DataParallel?

来自分类Dev

为什么一直使用异步/等待

来自分类Dev

如果Task.run可以实现异步等待,为什么还要使用异步等待

来自分类Dev

在异步功能中,为什么我必须等待?

来自分类Dev

为什么我必须使用await来使方法异步运行。如果我不想等待方法完成再继续怎么办?

来自分类Dev

承诺嵌套在异步函数中-为什么不仅与异步/等待一起使用?

来自分类Dev

为什么会出现错误“操作必须是普通对象。对异步操作使用自定义中间件。” 出现,当没有异步操作时?

来自分类Java

线程-为什么在等待时使用while(true)

来自分类Dev

使用tee并等待时脚本挂起,为什么?

来自分类Dev

为什么在使用低功耗蓝牙时必须停止蓝牙?

来自分类Dev

为什么在导入NgModule时必须使用AlertModule.forRoot()?

来自分类Dev

为什么使用刷新令牌时必须更换?

来自分类Dev

为什么在引用文字时必须使用const引用

来自分类Dev

为什么在使用chroot时必须指定DNS?

来自分类Dev

使用异步/等待有什么好处?

来自分类Mysql

为什么我在bcrypt比较时出错?异步/等待功能

来自分类Dev

为什么在使用异步操作时没有堆栈溢出?

来自分类Dev

为什么我的TPL程序比异步/等待程序使用更多的ThreadPool资源?

来自分类Dev

为什么对函数使用异步/等待会花费更长的时间,然后直接调用相同的函数呢?

来自分类Dev

为什么异步等待不能正确地与axios一起使用?

来自分类Dev

为什么异步等待不等待 - nodejs

来自分类Dev

为什么异步/等待不异步运行?

来自分类Dev

为什么我们必须等待C#中的异步方法调用

来自分类Dev

不使用异步等待的异步等待

来自分类Dev

为什么在使用Mocha和Pogo进行异步测试时this.timeout为什么无效?

Related 相关文章

  1. 1

    为什么在使用异步等待语法时仍然需要等待while循环?

  2. 2

    为什么在关键事件上使用异步等待时出现不可预测的结果

  3. 3

    为什么在使用异步等待时尽管观察到仍抛出UnobservedTaskException?

  4. 4

    为什么在Promises上使用异步/等待时,netlify-lambda会记录UnhandledPromiseRejectionWarning?

  5. 5

    为什么在测试时必须使用DataParallel?

  6. 6

    为什么一直使用异步/等待

  7. 7

    如果Task.run可以实现异步等待,为什么还要使用异步等待

  8. 8

    在异步功能中,为什么我必须等待?

  9. 9

    为什么我必须使用await来使方法异步运行。如果我不想等待方法完成再继续怎么办?

  10. 10

    承诺嵌套在异步函数中-为什么不仅与异步/等待一起使用?

  11. 11

    为什么会出现错误“操作必须是普通对象。对异步操作使用自定义中间件。” 出现,当没有异步操作时?

  12. 12

    线程-为什么在等待时使用while(true)

  13. 13

    使用tee并等待时脚本挂起,为什么?

  14. 14

    为什么在使用低功耗蓝牙时必须停止蓝牙?

  15. 15

    为什么在导入NgModule时必须使用AlertModule.forRoot()?

  16. 16

    为什么使用刷新令牌时必须更换?

  17. 17

    为什么在引用文字时必须使用const引用

  18. 18

    为什么在使用chroot时必须指定DNS?

  19. 19

    使用异步/等待有什么好处?

  20. 20

    为什么我在bcrypt比较时出错?异步/等待功能

  21. 21

    为什么在使用异步操作时没有堆栈溢出?

  22. 22

    为什么我的TPL程序比异步/等待程序使用更多的ThreadPool资源?

  23. 23

    为什么对函数使用异步/等待会花费更长的时间,然后直接调用相同的函数呢?

  24. 24

    为什么异步等待不能正确地与axios一起使用?

  25. 25

    为什么异步等待不等待 - nodejs

  26. 26

    为什么异步/等待不异步运行?

  27. 27

    为什么我们必须等待C#中的异步方法调用

  28. 28

    不使用异步等待的异步等待

  29. 29

    为什么在使用Mocha和Pogo进行异步测试时this.timeout为什么无效?

热门标签

归档