当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Node.js vm.Script.runInThisContext([options])用法及代码示例


script.runInThisContext([options])

历史
版本变化
v6.3.0

现在支持breakOnSigint 选项。

v0.3.1

添加于:v0.3.1


参数
  • options <Object>
    • displayErrors <boolean>true 时,如果在编译 code 时发生 Error ,则导致错误的代码行附加到堆栈跟踪。 默认: true
    • timeout <integer> 指定在终止执行之前执行 code 的毫秒数。如果执行终止,将抛出 Error 。该值必须是严格的正整数。
    • breakOnSigint <boolean>如果true, 接收SIGINT(Ctrl+C) 将终止执行并抛出一个Error.已通过以下方式附加的事件的现有处理程序process.on('SIGINT')在脚本执行期间被禁用,但之后继续工作。默认: false.
  • 返回: <any> 脚本中执行的最后一条语句的结果。

在当前 global 对象的上下文中运行 vm.Script 包含的编译代码。运行代码无权访问本地范围,但可以访问当前的global 对象。

下面的示例编译增加 global 变量的代码,然后多次执行该代码:

const vm = require('node:vm');

global.globalVar = 0;

const script = new vm.Script('globalVar += 1', { filename: 'myfile.vm' });

for (let i = 0; i < 1000; ++i) {
  script.runInThisContext();
}

console.log(globalVar);

// 1000

相关用法


注:本文由纯净天空筛选整理自nodejs.org大神的英文原创作品 vm.Script.runInThisContext([options])。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。