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

相关推荐

    NODEjs API文档

    - **`process.stdin`**:标准输入流。 - **`process.argv`**:命令行参数数组。 - **`process.execPath`**:Node.js可执行文件的路径。 - **`process.chdir(directory)`**:更改当前工作目录。 - **`process.cwd()`*...

    nodejs教程javascript标准参考教程.docx

    使用 `process.argv` 数组可以获取命令行参数,而 `process.stdin` 和 `process.stdout` 可以用来读写标准输入输出。 总之,Node.js 提供了一套高效的工具,让开发者可以用JavaScript构建高性能的网络服务和工具。...

    nodejs基础入门及配置方法

    - 事件触发通过 `emit` 方法。 #### Path 模块 1. **路径操作:** - `path` 模块提供处理文件路径的工具函数。 - `path.isAbsolute()` 判断路径是否绝对。 - `path.dirname()` 获取路径的目录部分。 - `path....

    NodeJs-Consola:Aplicacióndemultiplicaciónpor consola(基础)

    process.stdin.on('end', () =&gt; { consola.info('程序结束'); }); ``` 在这个代码中,我们首先引入了Consola,并为日志消息指定了一个特定的标签“Multiplication App”。接着,我们定义了一个名为`multiply`的...

    COBOLbridgeforNodeJS.zip

    COBOL bridge for NodeJS 可以让你在 Node.js 里面运行 COBOL 代码。代码示例:// Dependencies var Cobol = require("cobol"); // Execute some COBOL snippets Cobol(function () { /*  ...

    Node.js命令行/批处理中如何更改Linux用户密码浅析

    chpasswd.stdin.end(); ``` 在这个例子中,`chpasswd`进程被创建,然后监听其标准错误输出以捕获任何错误信息。当进程结束时,检查错误信息并决定是否调用回调函数。通过`stdin`写入用户名和密码,以更新指定用户的...

Global site tag (gtag.js) - Google Analytics