JavaScript 是如何工作的: 事件循环和异步编程的崛起 + 5个如何更好的使用 async/await 编码的技巧 - 学习笔记

  那么,谁会告诉 JS 引擎去执行你的程序?事实上,JS 引擎不是单独运行的 —— 它运行在一个宿主环境中,对于大多数开发者来说就是典型的浏览器和 Node.js。实际上,如今,JavaScript 被应用到了从机器人到灯泡的各种设备上。每个设备都代表了一种不同类型的 JS 引擎的宿主环境。

  所有的环境都有一个共同点,就是都拥有一个 事件循环 的内置机制,它随着时间的推移每次都去调用 JS 引擎去处理程序中多个块的执行。

  这意味着 JS 引擎只是任意的 JS 代码按需执行的环境。是它周围的环境来调度这些事件(JS 代码执行)。

  有很多文章或教程在介绍异步代码的时候都会从 setTimeout(callback, 0) 开始。好了,现在你知道了事件循环做了什么以及 setTimeout 是怎么运行的:以第二个参数是 0 的方式调用 setTimeout 就是推迟到调用栈为空才执行回调。

猜你喜欢

转载自www.cnblogs.com/lulin1/p/9234207.html