宏任务&微任务

以chrome为例chrome

setTimeout(function(){    console.log('setTimeout')},0)
new Promise(function(resolve){
    console.log('promise')
    resolve()
}).then(function(){
    console.log('then')
})复制代码

浏览器eventloop机制promise

js执行为单线程,所以分为 同步和异步浏览器

先执行同步任务,即 setTimeout ,  new Promise,  console.log('promise')bash

在异步时分为 宏任务 和 微任务,异步

setTimeout,setInterval等为宏任务,Promise为微任务。两个任务被挂载到不一样的task queue中。oop

浏览器先执行微任务的queue,即console.log(‘then’)而后在执行 宏任务 console.log(‘setTimeoout’)ui

相关文章
相关标签/搜索