数字探奇:揭示宏任务与微任务的神秘数字之谜
javaScript是单线程语言(如果多线程dom会疯掉)
所以在同一时间只能执行一个任务,称为主线程,用来执行同步任务
同时还有两个任务列表用于存放异步任务,宏任务、微任务
执行顺序为:主线程=>微任务=>宏任务
由语言标准提供的叫微任务,立即执行
宿主环境提供的叫宏任务,不是立即执行
宿主环境:简单来说就是能使javascript完美运行的环境,只要能完美运行javascript的载体就是javascript的宿主环境。目前我们常见的两种宿主环境有浏览器和node
语言标准:我们都知道JavaScript是一种编程语言,但其实JavaScript由ECMA制定标准,称之为ECMAScript,所以由语言标准提供的就是微任务,比如ES6提供的promise。
宏任务:script(全局任务), setTimeout, setInterval, setImmediate, I/O, UI rendering.
微任务:Promise, process.nextTick, Object.observer, MutationObserver
版权声明:他人将便捷数据网提供的内容与服务用于商业、盈利、广告性目的时,需得注明出处,转载时请附上原文出处链接及本声明。
原文链接:https://www.bian-jie.cn/search/promotion_article/1/19358755.html