event loop ,宏任务,微任务之我见
Posted 前端从入门到SP
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了event loop ,宏任务,微任务之我见相关的知识,希望对你有一定的参考价值。
众所周知,javaScript是单线程的语言,Event Loop是javascript的执行机制
同步,异步
对于以上我的理解是:javascript是单线程的语言,可是在当存在大型图片加载,文件请求,定时器操作等情况下,可能会堵塞代码的运行,于是出现同步,异步的情况出现,在代码中,代码运行过程中,同步代码会放在执行栈中,当遇到异步的代码时,会将任务保存在一个队列中,当执行栈中空了之后,队列弹出一个任务到执行栈中运行,直到所有任务运行完毕。而异步任务存在微任务和宏任务,
微宏任务有那些?
宿主环境提供的方法是宏任务,例如setTimeout, setInterval。这些都是浏览器或者Node环境实现的。js引擎自身提供的是微任务,例如Promise。基本上平时接触到的除了Promise都是宏任务。
eventloop
eventloop也就是任务的执行方式。
执行方式是每次执行完宏任务 都去反复查看是否有微任务,如果没有微任务,便执行下一个宏任务,验证
比如
执行方式是每次执行完宏任务 都去反复查看是否有微任务,如果没有微任务,便执行下一个宏任务,这个下面的没有微任务,只有宏任务所以就执行了,下面的这个就不同了,下面依然是微任务所以就一直执行完微任务再执行宏任务
每日一推前端知识点,我们一块进步
更多精彩文章
以上是关于event loop ,宏任务,微任务之我见的主要内容,如果未能解决你的问题,请参考以下文章