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

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

    • 1. js中的同步和异步
    • 2. 宏任务和微任务

1. js中的同步和异步

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

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

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

2. 宏任务和微任务

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

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

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

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

你可能感兴趣的:(javascript,前端,javascript)