JS同步异步,宏任务和微任务

js同步、异步操作,宏任务和微任务

1. js中的同步和异步

JS是一门单线程语言,因此,在同一个时间里只能处理同一件事,也就是说JS引擎一次只能在一个线程里处理一条语句。
JS同步是如何工作的,看以下案例:

let first=function(){
  console.log("我是第一个执行的函数");
}
let second=function(){
  console.log("我是第二个执行的函数");
}
second();
first();

输出结果:
在这里插入图片描述
js在执行代码的时候自上向下执行,执行完second(),再到first()。
同步任务:
同步任务是指在主线程上排队执行的任务,只有前一个任务执行完毕,才能继续执行下一个任务,当我们打开网站时,网站的渲染过程,比如元素的渲染,其实就是一个同步任务。
异步任务:
异步任务是指**不进入主线程,而进入任务队列的任务,只有任务队列通知主线程,某个异步任务可以执行了,该任务才会进入主线程,**当我们打开网站时,像图片的加载,音乐的加载,其实就是一个异步任务。
常见异步任务有(回调函数,ajax请求、axios请求、promise、async/await,setTimeout)。

2. 宏任务和微任务

在异步任务中,又分为宏任务和微任务。

宏任务、微任务是怎么执行的?

执行顺序:先执行同步代码,遇到异步宏任务则将异步宏任务放入宏任务队列中,遇到异步微任务则将异步微任务放入微任务队列中,当所有同步代码执行完毕后,再将异步微任务从队列中调入主线程执行,微任务执行完毕后再将异步宏任务从队列中调入主线程执行,一直循环直至所有任务执行完毕。

详情点击文章查看:什么是宏任务,什么是微任务

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值