这是我的代码
var offer = {title:'fdsfds',price:323,value:140};
var initSandbox = {
http: http,
offer: offer
};
var context = vm.createContext(initSandbox);
vm.runInContext(code, context);
Run Code Online (Sandbox Code Playgroud)
当runIncontext在提供的上下文成功地执行代码,它更新报价对象在上下文中,所以我需要知道它完成它的执行,所以我可以从上下文retrive报价对象时.
将回调传递给您的上下文并从您的代码中触发它
var vm = require('vm');
var offer = {title:'fdsfds',price:323,value:140};
var initSandbox = {
http: 123,
offer: offer,
done : function(offer) {
console.log('done!');
},
setTimeout: setTimeout
};
var context = vm.createContext(initSandbox);
vm.runInContext("setTimeout(done,100)", context);
Run Code Online (Sandbox Code Playgroud)