js宏任务&微任务执行时机

187 阅读1分钟

先引出一断代码分析下,代码如下:

image.png

运行结果如下:

image.png

下面开始讲解了哈

1.简单介绍宏任务,微任务

宏任务:整体代码script setTimeout, setInterval, setImmediate, I/O, UI rendering 微任务: Promises.(then catch finally), process.nextTick, MutationObserver

微任务比宏任务先执行

2.js函数中 先执行同步,后执行异步

因为new promise是实例化 属于同步 ,所以先输出了2,4(因为js是由上至下)

3.异步函数中,微任务比宏任务先执行

所以后输出了3,1(.then属于微任务)