1、概念
JS把异步任务分为宏任务和微任务;
在ES5以后,JavaScript引入了Promise,这样不需要浏览器,JavaScript引擎自身也能发起异步任务;
代码包括3种类型:
1、同步代码(js执行栈/回调栈)
2、微任务的异步代码(js引擎)
process.nextTick(node)
Promise.then() catch()
Async/Await
Object.observe
3、宏任务的异步代码(宿主环境)
script //(代码块)
setTimeout / setInterval //(设置时间间隔)
2、执行顺序
1、同步代码
2、微任务异步代码
3、宏任务异步代码