2012-06-20 27 views
3

這是我的代碼如何知道當vm.runInContext完成它的執行

var offer = {title:'fdsfds',price:323,value:140}; 
    var initSandbox = { 
      http: http, 
      offer: offer 
     }; 
var context = vm.createContext(initSandbox); 
vm.runInContext(code, context); 

時runIncontext在規定範圍內成功地執行代碼,它更新報價對象在上下文中,所以我需要知道它完成它的執行,所以當我可以從上下文中提取對象。

+0

用清晰的語言和代碼格式化觸發它!現在很難回答你的問題。 – jsalonen

回答

6

通行證回調到您的上下文,並從你的代碼

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); 
相關問題