在软件开发领域,简洁的代码 => 容易阅读的代码 => 容易维护的代码,而 ES2017 中的 async/await 特性能让咱们编写出相比回调地狱和 Promise 链式调用更直观、更容易理解的代码,await 关键字接收一个 Promise,等待代码执行,直到 Promise 状态变为 resolved 或者 rejected,这种特性能让咱们的异步代码阅读起来更像是同步代码。javascript
本课程共 8 小节 20 分钟,将会从编写简单的 async/await 函数开始,用实例带领你们探索 async/await 实战的方方面面,好比如何结合 Promise 和 await 关键字?如何定义不一样类型的 async 函数?如何安全的使用 async/await,即处理错误?如何让多个 await 串行或并行?如何在循环中正确使用 await?前端
- [required] 具有 JS 基础知识,知道如何运行 Node.js 脚本;
- [required] 知道 Callback、Promise 等异步处理概念;
- [optional] 指望学习新的异步特性,编写更简洁易懂易维护的代码;
- [optional] 指望不断打磨本身的 JS 技能,让本身变得更值钱;
手把手教你把发起 HTTP 请求并解析响应的代码改写成 async/await 风格,让你学会 async/await 的基本语法。java
带你探索如何在 Promise 链中像使用其余 Promise 同样无缝使用 async 函数。node
实例演示如何将任意函数写成 async 风格,包括函数声明、函数表达式、箭头函数、类方法、对象方法等。git
不一样于 Promise 中的 .catch() 错误处理机制,在 async 函数中,咱们须要使用 try/catch 结构来恰当的处理错误。github
学会经过移动 await 关键词的位置实现多个 await 操做串行或者并行,而且用数据证实让多个异步操做并行的性能优点。web
学会使用 ES2015 中的解构和 Promise.all() 实现多个异步操做的并行,很是适合须要同时发起多个请求的情形,代码可读性不打折扣。shell
await 操做符并不单单局限于 ES2015 的 Promise,能够和任意兼容 .then() 方法的代码使用,经过实例学会如何与流行的 Promise 库结合使用。promise
理解 for 循环中 await 不一样写法带来的性能影响,以及改进的方法。安全
代码仓库:wangshijun/course-javascript-async-await
运行方法(请确保系统中安装了 Node.js):
git clone https://github.com/wangshijun/course-javascript-async-await.git
cd course-javascript-async-await
node xxx.js复制代码
上面的 xxx.js 对应每节课程的源码,列表以下:
- Node.js v8.6.0
- VSCode v1.17.1 + Vim
关注《前端周刊》微信公众号,回复 course-async-await 便可获取高清视频教程下载地址。
最后,可能你有同窗会问,我为何要作这个公开课?接下来的计划是什么?请阅读很久不见,我总感受欠你点什么