如果一个方法被声明为'async',那么当我们调用该方法时,我们可以使用await或不使用它。我想知道何时使用它,以及使用它的效果是什么。何时使用等待关键字
6
A
回答
2
async关键字只是编译器的一个指示器,表明该方法可能包含await语句。
这里有一个有趣的帖子由埃里克利珀解释要求“异步”的设计选择
意味着我们可以消除一次全部向后兼容性的问题;任何包含await表达式的方法都必须是“新建”代码,而不是“旧工作”代码,因为“旧工作”代码从未有过异步修饰符。
http://blogs.msdn.com/b/ericlippert/archive/2010/11/11/whither-async.aspx
1
所标记的异步方法通常使用等待指定悬挂点。 await运算符告诉编译器,异步方法不能超过该点,直到等待的异步过程完成。同时,控制权返回给异步方法的调用者。
换句话说如果你正在做asyncronius编程,并希望simultaniusly运行某些线程任务,你会想要依靠异步和等待
更详细的解释在这里
http://msdn.microsoft.com/en-us/library/vstudio/hh191443.aspx
相关问题
- 1. 飞镖等待关键字
- 2. 如何使用异步和等待关键字异步呼叫
- 3. 异步等待关键字错误
- 4. 使用关键字等待模仿采用同步编程
- 5. JavaScript中的异步等待关键字“等待”仅适用于承诺吗?
- 6. Async是否等待关键字等同于ContinueWith lambda?
- 7. 如何使用异步和等待关键字进行递归异步?
- 8. 使用语句和等待关键字在c#中很好地播放使用#
- 9. 在哪里以及如何放置等待关键字
- 10. 等待关键字在Redux动作中不起作用
- 11. 等待里面的foreach关键词,
- 12. 等待Java按键
- 13. getch()等待Enter键?
- 14. Java - 何时使用'this'关键字
- 15. ASP.Net MVC4测试版 - 不等待HttpClient中的关键字支持?
- 16. Roslyn可以编译等待关键字吗?
- 17. 可以resharper跳过异步/等待关键字?
- 18. Nodejs和Postgres'pg'包等待关键字无法识别
- 19. 怪异编译器行为等待关键字
- 20. 关闭,并等待使用Win32/MFC
- 21. 等待功能,关闭使用window.onbeforeunload
- 22. 如何在等待连接时关闭服务器套接字?
- 23. 如何在保持执行顺序的同时减少在等待异步中使用await关键字
- 24. 即使在等待调用函数时,setTimeout也不会等待
- 25. 超时使用Android上的自定义键盘等待IInputContextCallback
- 26. 如何使用关键字
- 27. 等关键字与LINQ
- 28. 调用condition_variable等待函数时线程如何等待?
- 29. 批处理暂停等待任何关键其他退出
- 30. 等待关键部分在优雅节点中完成。关闭
你接近它:只有当你需要使用'await'时才应该使用'async'。当需要异步等待某些操作时,可以使用'await'。 –