脚本宝典收集整理的这篇文章主要介绍了Event Loop事件循环,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
当js执行一个脚本时,会先从上到下解析脚本内的代码,如果这个任务是一个同步任务,js引擎会将任务放入执行栈中就地执行,如果这个任务是一个异步任务,js引擎会将这个任务挂起并放入js运行环境去执行,继续向下寻找同步任务。
js运行环境会接收脚本传输过来的异步任务并执行,执行完毕后会将事件返回的结果分为两种放入任务队列中,这两种任务就是宏任务与微任务,js运行环境会将它们分别放入宏任务队列与微任务队列中等待js主线程执行。
当所有同步任务执行完毕后,js将在任务队列中的代码放入执行栈执行,js会优先读取微任务队列中的任务,当微任务队列执行完毕后,js才会读取宏任务队列中的任务。如果在这个宏任务中还有微任务,主线程会将这个任务放入微任务队列中等待执行,当宏任务执行完毕后,主线程会先查询微任务队列中是否还有微任务需要执行,如果有就先执行微任务,开始循环。
小结F1a;如果宏任务队列与微任务队列同时存在任务将会优先执行微任务
以上是脚本宝典为你收集整理的Event Loop事件循环全部内容,希望文章能够帮你解决Event Loop事件循环所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。