【前端学习——js】宏任务,微任务

pink老师讲解视频

https://www.bilibili.com/video/BV1G84y1B7hZ/?spm_id_from=333.788\&vd_source=5cef5968d539682b683e7d01b00ad01b

宏任务(浏览器,node发起)

  • script
  • 事件
  • ajax,fetch
  • 定时器 settimeout、setinterval

微任务(js引擎发起)

  • promise
    promise本身同步,但then、catch异步

代码可分为,执行顺序为:

同步代码
微任务异步代码
  • promise.then.catch
  • async/await
宏任务异步代码
  • script
  • 定时器

流程:

1.先将同步代码放到执行栈,微任务放到微任务队列(先进先出),宏任务也有队列

2.执行完同步代码后去微任务队列执行微任务,然后宏任务

相关推荐
im_AMBER1 分钟前
Leetcode 72 数组列表中的最大距离
c++·笔记·学习·算法·leetcode
FFF团团员9095 分钟前
树莓派学习笔记7:局域网的建立和程序自启动
笔记·学习
毕设源码-朱学姐21 分钟前
【开题答辩全过程】以 基于vue.js的校园二手平台为例,包含答辩的问题和答案
前端·javascript·vue.js
m0_4711996335 分钟前
【JavaScript】Set 和 Map 核心区别与实战用法(ES6 集合全解析)
前端·javascript·es6
hoiii1871 小时前
MATLAB中主成分分析(PCA)与相关性分析的实现
前端·人工智能·matlab
小白|1 小时前
【OpenHarmony × Flutter】混合开发性能攻坚:如何将内存占用降低 40%?Flutter 引擎复用 + ArkTS 资源回收实战指南
开发语言·javascript·flutter
大波V51 小时前
用 nvm 彻底重装 Node 12.22.12(确保干净)
前端
kkkkkkkkk_12011 小时前
【强化学习】05周博磊强化学习纲要学习笔记——第三课上
笔记·学习·强化学习
和和和2 小时前
React Scheduler为何采用MessageChannel调度?
前端·javascript
Ric9702 小时前
Mac上Git不识别文件名大小写修改?一招搞定!
前端