宏任务微任务 执行栈中当前的任务就可以当作宏任务,宏任务是宿主源发起的比如node.js 浏览器,所以定时器属于宏任务;微任务是javascript发起的,promise是微任务;借一张循坏图: 微任务总是在宏任务之前执行;案例如下:宏任务1里面的微任务2在宏任务2前面执行,每次循坏都会寻找是否有微任务,有的话就执行完微任务,没有才去执行宏任务;