Node.js 开发实战
杨浩
腾讯高级工程师
37442 人已学习
新⼈⾸单¥68
课程目录
已完结/共 57 讲
第一章:课程简介 (5讲)
Node.js 开发实战
登录|注册
留言
26
收藏
沉浸
阅读
分享
手机端
回顶部
当前播放: 17 | 异步:异步编程之async/await
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.75x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
01 | 课程介绍
02 | 内容综述
03 | Node.js是什么?
04 | Node.js可以用来做什么?
05 | 课程实战项目介绍
06 | 什么是技术预研?
07 | Node.js开发环境安装
08 | 第一个Node.js程序:石头剪刀布游戏
09 | 模块:CommonJS规范
10 | 模块:使用模块规范改造石头剪刀布游戏
11 | 模块:npm
12 | 模块:Node.js内置模块
13 | 异步:非阻塞I/O
14 | 异步:异步编程之callback
15 | 异步:事件循环
16 | 异步:异步编程之Promise
17 | 异步:异步编程之async/await
18 | HTTP:什么是HTTP服务器?
19 | HTTP:简单实现一个HTTP服务器
20 | HTTP:实现网页版石头剪刀布
21 | HTTP:用express优化石头剪刀布游戏
22 | HTTP:用koa优化石头剪刀布游戏
23 | RPC 调用:什么是RPC调用?
24 | RPC调用:Node.js Buffer编解码二进制数据包
25 | RPC 调用:Node.js net建立多路复用的RPC通道
26 | 项目启动:整体需求分析
27 | 项目启动:极客时间App下载页开发
28 | 课程详情页:极客时间详情页需求解构
29 | 课程详情页:将ES6模版字符串改造成模板引擎
30 | 课程详情页:极客时间详情页需求实现
31 | 课程播放页:极客时间播放页需求解构
32 | 课程播放页:GraphQL API服务
33 | 课程播放页:极客时间播放页需求实现
34 | 课程列表页:极客时间列表页需求解构
35 | 课程列表页:用 Vue/React 进行服务端渲染
36 | 课程列表页:极客时间列表页需求实现
37 | 性能工具:HTTP服务的性能测试
38 | 性能工具:Node.js性能分析工具
39 | 代码优化:JavaScript代码性能优化
40 | 代码优化:内存管理优化
41 | 代码优化:Node.js C++插件
42 | 多进程优化:Node.js子进程与线程
43 | 多进程优化:Node.js cluster模块实战与源码解读
44 | 多进程优化:进程守护与管理
45 | 架构优化:动静分离
46 | 架构优化:反向代理与缓存服务
47 | 概念:框架设计和工程化
48 | 概念:设计模式
49 | 概念:Serverless
50 | 服务端框架搭建:koaless
51 | 服务端框架搭建:屏蔽请求细节
52 | 服务端框架搭建:完成服务端框架
53 | 云函数式工程实现:服务端代码
54 | 云函数式工程实现:工具端代码
55 | 加餐:调试 Node.js 源码
56 | 结课测试&结束语
57 | 彩蛋:这是一个严肃的课程
本节摘要
登录 后留言

全部留言(26)

  • 最新
  • 精选
寇云
老师讲异步这里真心好,之前看了很多文章教程比较混沌,老师讲的一下子就明白了。🙏谢谢

作者回复: 很感动,我自己看的时候都还觉得有一些地方没讲好,还可以改进

2019-10-10
25
尹吉凯
awiait Promise.all([a,b,c]) 这种属于并行的吗

作者回复: 你await拼错了,拼对了的话,就是并行的

2019-10-14
5
13
CGer_AJ
最后的总结 await是如何暂停代码执行的? 有的人说是元编程函数的next方法实现的 这地方我去查资料把~

作者回复: 最简单的方法就是看babel转换后的async await代码。实际上没有那么复杂。

2020-01-02
3
5
許敲敲
如果一个正常函数,里面运行 await function,但是函数最外面不加async 修饰符会怎么样啊? 比如 老师视频里面11.30 时候的 最外面的立即执行函数 不用 async 修饰可以吗? async function(){ await interview(1); await intervire(2); } 变成: function(){ await interview(1); await intervire(2); } 这样可以吗?

作者回复: 会报语法错误,普通函数里不能await

2019-12-01
4
W
老师,使用 await 捕获了 error,所以可以理解为 await 是将 异步程序的调用栈 重新入栈到 主程序调用栈 上了吗?

作者回复: 不能,不存在异步程序和主程序两个程序。两段代码都属于一个进程。只是在不同的事件循环里执行。 这里抓到错误的其实不是try catch,而是await语法被编译后,实际上由Promise的catch抓到。

2019-12-01
4
4
ZERO To One
老师,那个事件循环感觉没有讲到位,后面讲 await的时候,很多的技术细节都是跟事件循环相关的,但是都被一笔带过了,期待这些细节处的补充。谢谢

作者回复: 好的,我会考虑一下

2019-10-22
4
Privater
其实如果直接请求函数运行结果,但是 wait 每个函数的执行回复,也能让 async/await 得到类似于 Promise.all 的并行执行效果,例如把 try 部分的内容改成前面先获取单独的 interview 函数,然后再创建返回值进行await 等待执行结果: try { const interview1 = interview(1); const interview2 = interview(2); const result1 = await interview1 const result2 = await interview2 } 这样两个个interview 便会是类似于 Promise.all 一样的并行得到结果

作者回复: 确实是,也是可以的

2020-06-22
2
2
WinfyHo
await不是会暂停函数执行吗,为什么还要用Promise.all

作者回复: 并行等待一堆肯定比一个一个等要快

2020-04-14
2
Regis
await一开始理解起来还挺复杂,不过熟悉了使用方法真心好用,不过对于什么时候需要在await里面new一个promise对象还是很迷惑,有时候new一个promise对象不进行return,有时候又需要对promise对象进行返回,真心晕!

作者回复: 主要还是记住一点就是,async function等同于一个返回Promise的普通函数。 如果还有具体的场景不清楚,可以把代码发出来大家一起看看。

2020-03-26
2
TechCheng
为啥代码给的案例和课程对应内容举的例子不一样呢??

作者回复: 整理代码的时候想了想还有更好的表达方式就改了。思路是一样的

2019-11-05
2
收起评论