异步就用await?不太对吧
来源:2-6 介绍ejs-循环和组件

weixin_慕数据0369417
2019-12-15
await
使用是同步的!不是因为IO异步才用await
,而是因为IO异步才用async
;IO为何异步就是提了一下,也没有讲清楚为什么IO需要异步。。。。
写回答
1回答
-
双越
2019-12-15
第一,async await 要组合使用,可以解决 IO 异步的代码嵌套逻辑(也可以是其他异步的问题),用同步的编码方式编写。
第二,本课程是纯 nodejs 实战,光讲实战部分就已经内容很多了。所以,本课程中没有讲解“为何 IO 是异步”这种基础性问题,这个在课程导学中也提到过。课程要控制一定的体量和学习时间,这一点还请理解。
-------------
不过既然提出来,可以先解释一下为何 IO 是异步,其实不难理解。
nodejs 涉及到的 IO 主要是硬盘读写和网络请求,这两者的都需要长时间的等待 —— 相比于 CPU 的运算速度来说。而 nodejs 又是单线程的语言,不支持多线程,如果长时间 IO 等待而让 CPU 闲置,将会阻塞后续代码执行,会造成执行卡顿,影响执行效率。所以,nodejs 对应 IO 操作用异步的方式来处理,即用事件轮询的方式。
如上解释不知是否描述清楚了,如有疑问可继续回复我。
70
相似问题