登录
首页 >  文章 >  前端

Detailed explanation of Javascript event loop rules

来源:dev.to

时间:2024-11-09 10:55:05 462浏览 收藏

golang学习网今天将给大家带来《Detailed explanation of Javascript event loop rules》,感兴趣的朋友请继续看下去吧!以下内容将会涉及到等等知识点,如果你是正在学习文章或者已经是大佬级别了,都非常欢迎也希望大家都能给我建议评论哈~希望能帮助到大家!

Detailed explanation of Javascript event loop rules

众所周知,Javacript是单线程语言,但是为什么我们可以使用异步操作呢?因为异步操作是由具有多线程、多进程能力的浏览器执行的。 Javascript始终运行在单线程上,当异步代码被发现时,就会交给浏览器执行,然后浏览器调用相应的线程或进程,包括http请求、GUI、事件触发等来处理这些异步操作.

一般来说,Javasctip任务可以分为三类:同步任务、微任务、宏任务,按照sync -> micro -> Macro的顺序运行。首先执行同步代码,然后浏览器会将微代码放入等待同步任务完成的微任务队列中,并将宏代码放入等待微代码完成的宏任务队列中。
这个优先级顺序类似于OS上的多级反馈队列调度算法。

常见微任务:Promise.then()、Promise.catch()、new MutationObserver()、process.nextTick()
常用宏任务:setTimeout、setInterview、requestAnimationFrame()

顺便说一下,process.nextTick() 既不是微任务也不是宏任务,它只是在同步代码之后、微任务之前运行。

到这里,我们也就讲完了《Detailed explanation of Javascript event loop rules》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

声明:本文转载于:dev.to 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>