V8 有事件循环吗?

Does V8 have an event loop?

我一直听说 V8 有其基本的事件循环实现,但是

  1. 找不到
  2. 对我来说真的没有意义。 Methinks,最简单的 JS 引擎设计是简单地 运行 同步并让 "embedder" 编写自己的事件循环——就像 nodejs 得到 libuv。

v8 中有事件循环实现吗?如果是这样,你能指点一下吗?

你的直觉是正确的,事件循环是嵌入者应该控制的东西。但是,它也是 JavaScript 编程模型的一个基本抽象概念。 V8 的解决方案是提供一个嵌入器可以覆盖的默认实现;您可以在 "libplatform" 组件中找到它:https://chromium.googlesource.com/v8/v8/+/master/src/libplatform/default-platform.cc#140

另见