代码拉取完成,页面将自动刷新
JS是单线程的语言,也就是说同一个时间只能处理一个任务。而为了协调事件、用户交互、脚本、UI渲染和网络处理等行为,防止主线程的不阻塞,(事件循环)EventLoop 的方案应用而生。
JS处理任务是在等待任务、执行任务、休眠等待新任务中不断循环中,也称这种机制为事件循环
任务包括script(整体代码)、setTimeout、setInterval、DOM渲染、DOM事件、Promise、XMLHttpRequest等等
宏任务:当前调用栈中执行的代码成为宏任务 包括:I/O、setTimeout、setInterval、requestAnimationFrame、setImmediate、js代码块
微任务:当前(此次事件循环中)宏任务执行完,在下一个宏任务开始之前需要执行的任务,可以理解为回调事件。(process.nextTick、MutationObserver、Promise.then catch finally)
宏任务中的事件放在callback queue中,由事件触发线程维护;微任务的事件放在微任务队列中,由js引擎线程维护。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。