解释:js是一个单线程的语言,但是为了发送ajax,渲染等需要需要异步请求,为了防止主线程的阻塞,(事件循环)Event Loop 的方案应用而生。
同步:普通的代码如console.log()这种就是同步代码,其会在主进程中执行,如果同步代码执行时间长会阻止进程
异步:对于如ajax、setTimeout,这种就是异步请求,其不会阻塞主进程,当程序运行到异步代码时,并不是立刻执行它,而是把它添加到一个宏任务当中去,其中宏任务执行完会先看看它下面有没有微任务,如果有就会把微任务也执行完,再执行下一个宏任务(下面会介绍),之后会直接执行它后面的同步代码,而它本身会在当前同步代码执行完毕后才会执行(重点)。
解释:其内容有