将Node.JS变量传递到虚拟节点';s';ONURLCONED';事件,然后退出

将Node.JS变量传递到虚拟节点';s';ONURLCONED';事件,然后退出,node.js,phantomjs,Node.js,Phantomjs,我需要对幻影节点的“onUrlChanged”事件中接收到的数据进行一些检查: else (res.statusCode === 200) { var sitepage = null; var phInstance = null; var urlS = options.url; phantom.create() .then(function(instance) { phInstance = instance; ret

我需要对幻影节点的“onUrlChanged”事件中接收到的数据进行一些检查:

else (res.statusCode === 200) {
    var sitepage = null;
    var phInstance = null;
    var urlS = options.url;
      phantom.create()
      .then(function(instance) {
        phInstance = instance;
        return instance.createPage();
      })
      .then(function(page) {
        sitepage = page;
        page.property('onUrlChanged', function(requestData, networkRequest){
          console.log(urlS);
        });
        console.log('URL OPTS: ', urlS);
        return page.open(urlS);
      })
      .then(function(status) {
        console.log('STATUS: ', status);
        return sitepage.property('content');
      })
      .then(function(content) {
        setTimeout(function() {
          console.log(urlS);
          sitepage.close();
          phInstance.exit();
          cb(redirects);
        }, 16000);

      })
      .catch(function(error) {
        console.log(error);
        phInstance.exit();
      });
  }
我在“onUrlChanged”中得到未定义的URL,并在代码下面得到一个值。 这是在幻影节点内使用节点变量的一种方法,还是将幻影节点的变量转发给节点

提前谢谢你

更新: 我通过传递var解决了这个问题。这是phantom官方文档中的错误

        page.property('onUrlChanged', function(requestData, networkRequest, outVar, a) {

        console.log(outVar);

        }, outObj, outObj);
看看它在回调后使用了最后一个outObj变量,但在回调函数中使用了第三个参数

那么,如何返回带有更改的var呢?我想通过文件的读写来实现这一点。但这看起来是个丑陋的选择