如何结束节点 VM2 当前正在 运行 的任何代码
How to end any code currently being run by Node VM2
我正在 运行使用 vm2 在 Node 中安装一些沙盒代码。
运行 中的代码大部分是异步的。它是不受信任的代码,不能依赖它以任何方式符合 - 因此我使用 vm2
到 运行 它的原因。
vm2 是否有办法结束当前正在执行的任何代码?文档非常有限。例如,如果我有这个代码:
var code = 'setInterval(function(){ console.log("tick"); }, 1000);'
vm.run(code);
有没有什么办法可以 运行 像上面那样,并在将来的某个时候停止它,而控制代码不必知道 code
的内容,并且不需要code
必须提供任何特定功能?
我找不到 vm.stop()
方法或类似方法。
遗憾的是,无法中断 VM 中代码 运行 的执行。 vm2 库基于 Node 的 VM 模块,它不提供任何方法来中断沙箱中的代码 运行。至少在写这篇文章的时候不是。
您唯一可以限制的是任何同步执行的持续时间。
免责声明:我是 vm2 库的作者。
我正在 运行使用 vm2 在 Node 中安装一些沙盒代码。
运行 中的代码大部分是异步的。它是不受信任的代码,不能依赖它以任何方式符合 - 因此我使用 vm2
到 运行 它的原因。
vm2 是否有办法结束当前正在执行的任何代码?文档非常有限。例如,如果我有这个代码:
var code = 'setInterval(function(){ console.log("tick"); }, 1000);'
vm.run(code);
有没有什么办法可以 运行 像上面那样,并在将来的某个时候停止它,而控制代码不必知道 code
的内容,并且不需要code
必须提供任何特定功能?
我找不到 vm.stop()
方法或类似方法。
遗憾的是,无法中断 VM 中代码 运行 的执行。 vm2 库基于 Node 的 VM 模块,它不提供任何方法来中断沙箱中的代码 运行。至少在写这篇文章的时候不是。
您唯一可以限制的是任何同步执行的持续时间。
免责声明:我是 vm2 库的作者。