首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >事件循环何时启动?

事件循环何时启动?
EN

Stack Overflow用户
提问于 2018-10-29 02:58:43
回答 1查看 193关注 0票数 0

我最近开始弄清楚什么是事件循环,这让我很困惑,似乎我不知道nodejs是如何工作的。我的意思是,当程序启动时,加载到内存中-下一步是什么?

我在事件循环中看不到所有同步的地方。代码执行(就像计算某些东西的for/ while循环)..这不是意味着V8会执行JavaScript并在需要时启动事件循环吗?

如果有人能帮助并解释nodejs运行时是如何在高层运行的,那就太好了

EN

回答 1

Stack Overflow用户

发布于 2018-10-29 03:22:09

我强烈推荐阅读这篇Asynchrony: Now & Later

我将引用一些我曾经读过的东西。

.

JS引擎对异步代码一无所知,它一次只执行代码,finishes..no更多而不是更少

JS主机环境具有事件循环概念的实现,其中代码现在(将来)不需要运行,正在等待(假设是网络调用/ io调用)完成处理并被调用(被添加到事件循环的事件队列中,然后在下一个节拍执行)

在程序开始时,我100%确定,但我认为所有代码都被添加到事件队列(事件循环的实现方式),并以先进先出(FIFO)的方式处理,这意味着第一个代码执行得越早,在运行时,如果一些代码需要停止,比如setTimeout或IO进程,或者Ajax调用(这两个都需要时间),则由它们决定是否使用回调(这里的回调被添加到事件队列中),并且由事件循环负责执行这些回调,以便它们在下一个未来的节拍到达。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53035043

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档