理解同步、异步和事件循环
JavaScript运行机制:
所有同步任务都在主线程上执行,形成一个执行栈;
主线程发起异步请求,相应的工作线程就会去执行异步任务,主线程可以继续执行后面的代码;
主线程之外,还存在一个”任务队列”(task queue)。只要异步任务有了运行结果,就在”任务队列”之中放置一个事件,也就是一个消息;
一旦”执行栈”中的所有同步任务执行完毕,系统就会读取”任务队列”,看看里面有哪些事件。那些对应的异步任务,于是结束等待状态,进入执行栈,开始执行;
主线程把当前的事件执行完成之后,再去读取任务队列,如此反复重复执行,这样就行程了事件循环。
1、单线程JS引擎在解释和执行JavaScr
...