获得徽章 6
- async与await 是 生成器(Generator)与 promise 的语法糖,这句话我一直当作背书一样背着,现在知道是为什么了。
Generator是协程的实现方式,协程可以保证 程序暂停执行或者恢复执行,协程不是系统内核控制,而是程序控制。
浏览器实现协程的主要思路是,父协程和子协程的信息交流,在暂停时完成 主线程控制权切换。
await 一个 promise时 会让 他的.then行为加载到 浏览器的微任务列表中并保存当前的调用栈,所以浏览器会先进行同步代码执行,执行完成后看是否执行微任务,执行的话 会 拿到.then的返回值,然后执行之前保存到调用栈的函数 。
当然 setTimeout 与 请求 又是完全不同的两种情况,需要考虑宏任务调度 以及 网络进程的调度。展开评论11 - #读书好、多读书、读好书 # 人最宝贵的东西是生命.生命对人来说只有一次.因此,人的一生应当这样度过:当一个人回首往事时,不因虚度年华而悔恨,也不因碌碌无为而羞愧;这样,在他临死的时候,能够说,我把整个生命和全部精力都献给了人生最宝贵的事业——为人类的解放而奋斗。我们必须抓紧时间生活,因为即使是一场暴病或意外都可能终止生命。———————来自《钢铁是怎样炼成的》展开26
![[太阳]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_135.5741bcc.png)