0 0

如何触发nodejs的process.stdin的end事件5

nodejs.org官方网站上,关于process.stdin有下面的一段程序。

process.stdin.resume();
process.stdin.setEncoding('utf8');

process.stdin.on('data', function (chunk) {
  process.stdout.write('data: ' + chunk);
});

process.stdin.on('end', function () {
  process.stdout.write('end');
});

 

 在windows xp下,保存成test.js,然后在命令行输入node test.js运行后一切OK,只是不知道

如何才能触发end事件的回调,也就是说怎样才能执行到红色的那行代码。

 

在网上查了一下,说是遇到EOF,或者直接按Ctl Z,就可以触发end事件,但是Ctl Z,D啥的都试了,

仍然不好使,调用了一下process.stdin.pause(),process.stdin.end()以及Ctl C,都只是结束

了程序,并没有触发到end事件。网上很多人都转载了类似的代码,不过都没有提及end事件的触发问题。

 

请牛人指点迷津。

 

2012年10月12日 09:48

1个答案 按时间排序 按投票排序

0 0

很简单,重定向标准输入输出执行下面的命令行就OK:

node test.js < in > out


然后将你要输入到终端的数据全部保存在in里面执行上面的命令即可。

2013年8月06日 21:05

相关推荐

Global site tag (gtag.js) - Google Analytics