JavaScript是单线程执行的,无法同时执行多段代码。当某一段代码正在执行的时候,所有后续的任务都必须等待,形成一个队列。一旦当前任务执行完毕,再从队列中取出下一个任务
这里就涉及到了执行栈(Stack)和队列任务(Queue Task)的概念,、将同步任务都放入主线程的Stack当中,
将异步和延时的任务都放入Event Queue里面等待执行,
等主线程执行完毕,
再去Event Queue中读取第一个事件放入主线程
执行完毕再读取第二个…
.因此形成一个JavaScript的Event Loop(事件循环),
Event Loop就是JavaScript的实现异步的一种方式,
也是JavaScript的执行机制。