.NET Core 2.0 编写异步方法的步骤
方法声明中使用 async 关键字
调用异步方法时使用 await 关键字
await + Task
=> 返回值类型为 T 的表达式 await + Task => 返回 void 的表达式
在异步方法中使用正确的返回类型
Task
:返回值类型为 TResult Task:方法内没有 return 语句或 return;
void:仅用于写异步的事件处理器
其它包含 GetAwaiter 方法的类
依照约定方法名以 Async 结尾
方法内至少包含一个 await 表达式
await 操作符通知编译器异步方法在此处无法继续向下执行了,必须等待被 await 的异步进程执行完毕。同时控制权返回给异步方法的调用者
异步方法的挂机不会造成方法退出,finally 块也不会执行(如果有)
一撇老代码中的异步
在老版本的 C# 和 .NET 框架中,异步编程通过 回调 和 委托 实现。
async/await 重新定义异步编程。
像循环和错误处理都是 async/await 的长项,使用体验远超传统异步编程。
在课程最后一节将展开讲解三种异步编程模式。