Javascript node.js事件循环何时终止?

Javascript node.js事件循环何时终止?,javascript,node.js,Javascript,Node.js,我想知道node.js终止事件循环的条件是什么。node.js如何判断不会触发更多事件?例如,在http客户端或文件读取应用程序中。我建议您观看这段精彩视频 简单地说,Javascript运行时一次只能做一件事,因此它被称为“单线程”。但是,您有理由认为我们可以同时执行HTTP请求之类的操作。。这是因为他在视频上称为浏览器的“Browser APIs”,而对于像Node.js这样的后台环境,它是C++ API。 现在,任何这些“外部”API调用(如HTTP客户端调用)都被推送到任务队列。事件循环

我想知道node.js终止事件循环的条件是什么。node.js如何判断不会触发更多事件?例如,在http客户端或文件读取应用程序中。

我建议您观看这段精彩视频

简单地说,Javascript运行时一次只能做一件事,因此它被称为“单线程”。但是,您有理由认为我们可以同时执行HTTP请求之类的操作。。这是因为他在视频上称为浏览器的“Browser APIs”,而对于像Node.js这样的后台环境,它是C++ API。 现在,任何这些“外部”API调用(如HTTP客户端调用)都被推送到任务队列。事件循环有一个非常简单的任务。如果主调用堆栈为空,它将始终从任务队列中获取一个作业,并将其推送到执行/运行堆栈。因此,当任务队列中没有作业(外部API调用)时,事件循环将终止


为了更好地理解,我建议您观看完整视频:)

我建议您通过计数来观看这段精彩视频。异步任务需要在事件循环中注册,也可以取消它们。有关示例,请参见。@Bergi我甚至没有完成编辑我的答案,我发现它已经转换为注释。简单地说,Javascript运行时一次只能做一件事,因此它被称为“单线程”。但是,您有理由我们可以像HTTP请求一样,因为“浏览器API”或C++ API来做事情。现在,这些API中的任何一个都被推送到任务队列。事件循环有一个非常简单的任务。如果主调用堆栈为空,它将始终从任务队列中提取一个作业,并将其推送到执行/运行堆栈。@AhmadAssaf:啊,谢谢(看起来您应该在第一次保存答案之前完成它们)。你可能想标记它以引起版主的注意,这样它就会被取消删除。@Bergi my bad:(非常感谢我会这么做:)谢谢你的视频!