NodeJS:获取当前 VM 上下文

NodeJS: Get Current VM Context

Node JS 在 Javascript VX(当前为 V8)引擎中执行代码库,并在其自己的 VM 中执行每个异步上下文。

根据此信息,是否有 API 允许查找当前代码执行发生在哪个 VM 上下文中?

我正在尝试创建特定于上下文的全局变量。

这可能吗? 我对 Node 的理解正确吗?

上下文特定的全局变量?这不是自相矛盾吗?

Javascript 使用 closures。所以您想在函数内声明和创建函数,这将建立并保留您的 "context specific globals".

概念

您对节点的理解有误。具体你说:

Javascript VX (V8 currently) engine, and executes every asynchronous context in its own VM

没有。 Javascript 只有一个上下文。当前虚拟机。 node.js 中有多线程扩展,例如 webworker-threads 但它们不经常使用,因为:

  1. 它们很少提高吞吐量并且几乎总是增加延迟
  2. 它们几乎从不需要,因为 node.js 块中几乎没有任何东西

如果您想了解异步执行在 node.js 中如何工作的稍微低级的技术细节,请参阅我对这个问题的回答: