来自phantomjs的奇怪输出

时间:2015-12-11 17:11:30

标签: javascript node.js phantomjs

我的脚本如下:

page.open('http://google.com',function(){
    var base64 = page.renderBase64('PNG');
    system.stdout.writeLine(JSON.stringify({
        image: base64
    }));
    page.close();
    phantom.exit(0);
}

当我使用phantomjs script.js运行此操作时,我将输出设为{"image":"content"}。但是当我使用node index.js生成幻像并运行相同的脚本时,我会得到类似的东西 undefined:1 {"image":"content"}

这种不期望的undefined输出可能是什么原因:1

node.js脚本如下: `

var phantomjs = require('phantomjs');
var childProcess = require('child_process');
var spillOver = '';
var phantomProcess = childProcess.spawn(phantomjs.path,['./image.js']);
phantomProcess.stdin.write(JSON.stringify({url:"http://google.com"}) + '\n');
phantomProcess.stdout.on('data', function(data){
var stringData = data.toString();
  if(stringData.indexOf('\n')===-1){
    spillOver += stringData;
  }else{
    stringData = spillOver+stringData;
    spillOver = '';
  }
  stringData.split('\n').forEach(d =>{
    if(d === '')
      return;
    var result = JSON.parse(d);
    console.log(result);
  });
  var result = JSON.parse(stringData);
  console.log(stringData);
});

phantomProcess.on('exit', function(code){
  console.log('exited with code'+code);
});

`

0 个答案:

没有答案