jjzjj

runInNewContext

全部标签

javascript - runInNewContext 究竟做了什么?

我目前正在学习一些代码库,它使用runInNewContext的频率更高,我尝试查找但没有合适的定义。阅读officialdocs指定,我所能理解的是code被编译到指定的sandbox中。这到底是什么意思,例如,代码库中有一些代码类似于:request(url,function(error,response,body){varsubject={}tryvm.runInNewContext(body,subject,url);deferred.resolve(subject);catch_errorconsole.log(_error);}这里到底发生了什么让我感到困惑。看到这个,我尝

Node.js 虚拟机 : How to cancel Script. runInNewContext()?

我想使用vm模块作为运行外部代码的安全方式。它工作得很好,但还有一个问题:varUNKNOWN_CODE="while(true){}";varvm=require("vm");varobj={};varctx=vm.createContext(obj);varscript=vm.createScript(UNKNOWN_CODE);script.runInNewContext(ctx);console.log("finished");//neverexecuted有什么方法可以取消执行(例如,如果它持续超过5s)?提前致谢! 最佳答案