js---宏观任务和微观任务

一、什么是宏观任务和微观任务

任务可以分为同步任务和异步任务;异步任务又可以分为宏观任务和微观任务,自从es6后,js引擎也可以发布异步任务。

宏观任务:通过浏览器、node。js等宿主环境来请求

微观任务:是js引擎发起的任务

二、执行流程

首先执行的是同步代码

其次是微观任务代码

最后是宏观任务

三、代码

1.同步代码 (js 执行栈/回调栈)

2.微任务的异步代码(is引擎)

process.nextTick (node)

Promise.then() catch(),Promise本身为同步,them/catch的回调是异步

se.then() catch()

Async/Await

Object.observe 等等

3.宏任务的异步代码(宿主环境)

script (代码块)

setTimeout / setlnterval 定时器

setlmmediate 定时器宏任务了

四、应用

1、从上到下,把所有的同步任务、异步任务中的宏观任务和微观任务找出来。

2、然后根据执行循序,先进先出,所以输出结果是1,2,6,4,3,5

注:值得注意的是,在await之后都是微观任务,所以将console.log(3)放到微观任务中

是不是轻轻松松搞定宏观任务和微观任务的啦!

猜你喜欢

转载自blog.csdn.net/weixin_43452154/article/details/129690824