Tag: readline

readline数据被推入后,数组为空

我正在尝试编写一个程序,我需要从一个文件行逐行读取数据,使用Array.push()将数据逐行存储在一个数组中。 我正在阅读使用readline npm软件包的文件。 但是,当我试图在遍历整个文件后调用数组时,它显示了一个空数组。 var fs = require('fs'), readline = require('readline'), stream = require('stream'); var instream = fs.createReadStream('sample.txt'); var outstream = new stream; outstream.readable = true; outstream.writable = true; function printArray(ArrayVar){ console.log(ArrayVar); } function AddText(InputStream){ var Text = new Array; var rl = readline.createInterface({ input: instream, output: outstream, terminal: false }); rl.on('line',function(line){ Text.push(line); }); return […]

node.js readline – 写入数据出现在input中

我有一个非常基本的readline实现,似乎有一个问题,当我写入写入的数据出现在input并引发“线”事件。 这全部在标准的linux rxvt窗口中。 var rl readline.createInterface({ input: process.stdin, output: process.stdout, // terminal: false <— setting true/false makes no difference }); rl.on('line', function(line) { var inp = line.trim(); console.log('line event'); switch(inp) { case …. default: console.log('Unknown command: ' + inp + '\n'); } }); 然后rl.write(string); 从套接字I / O。 写入引发“行”事件,写入数据作为未知命令发出。 如果我在terminal上input数据,就会像预期的那样引发“行”事件,并且工作正常。 很明显,写入的数据不应该出现在input上,并询问可能是什么原因。 谢谢

如何更改readline函数中的variables?

我有以下代码,我不知道如何更改函数内的variablesx。 var readline = require('readline'); var r1 = readline.createInterface({ input: process.stdin, terminal: false }); var x = 1; r1.on('line', function(inputText) { x = 2; // i want to be able to change it here } console.log(x); //prints 1 and I want 2

Node.js readline线事件callback保证在下次调用之前完成?

我刚刚修复了一个错误,我正在读取并用readline重写文件,并且这些行被乱序写入(最终是由于asynchronousfs.write()调用)。 但是有一件事我以为发生了,就是readline 行事件是按照正确的顺序进来的,但是也许我的一些行的callback函数在另一个line事件被处理之后就完成了。 展示: line1 event comes in line1 event finishes handling line2 event comes in //Takes a long time to process line3 event comes in line3 event finishes handling line2 event finished handling //And because it was after line3, gets written back after too 从上面输出的最终文件将如下所示: line1 line3 line2 我没有看到任何这样的保证文件,我的testing似乎指出,以上是不可能的,但我不知道。 readline是否可以实现上面的场景?

Nodejs Childexec为文件中的每一行执行命令,但等待第一个命令退出后再运行下一个命令

我正在使用nodejs与我所做的casperjs脚本进行通信。 首先我会告诉你我的Casperjs脚本是做什么的。 我已经用命令行input来设置它。 我运行这个命令 casperjs script.js "Inputdata1" "inputdata2" 这个脚本然后执行并访问我的一个服务器提交input数据1和2。 然后等待服务器响应并根据脚本从我的服务器获得的结果将行权限到10个文本文件之一 这然后退出。 这casperjs脚本工作正常没有问题。 现在我正在构build一个nodejs脚本来反复运行casperjs脚本 我的nodejs脚本假设使用readline.js读取文本文件,然后对每行使用里面的数据执行Casperjs命令。 问题是我的脚本一次执行每个执行,并且我没有从casperjs的文本文件中得到任何结果 我需要我的nodejs脚本来执行第一行等待Casperjs退出,然后才移动到下一行并用Casperjs执行 而且我还需要真正的casperjs脚本像往常一样工作 这里是我的nodejs脚本 – 我一直在这个好几天尝试不同的代码不同的模块,但不能解决它,所以任何帮助是极大的赞赏 var fs = require('fs'), sleep = require('sleep'), readline = require('readline'); var rd = readline.createInterface({ input: fs.createReadStream('file.txt'), output: process.stdout, terminal: false }); rd.on('line', function(line) { var exec = require('child_process').exec; var child = exec('casperjs check.js ' + […]

Node.js:如何增加readline / inquirer提示高度

我使用inquirer.js创build一个yeoman-generator ,当涉及到一个很长的列表作为提示它的高度太短,以显示所有项目。 我怎样才能增加它? 我知道inquirer.js使用node.js的readline的扩展版本,我不知道是否限制在这个模块。 相关图片:

JavaScript – 使用JasminetestingNodeJS readline.createInterface的实现

我在NodeJS中构build了一个命令行应用程序,我想用Jasmine彻底地testing它。 我已经实现了一个promptUser()方法,它使用Node的readline.createInterface方法提出一个问题,并将回应传递给一个callback。 我想testing一下,给定一个' q '的用户响应,我的模块的quit()函数被调用。 不过我正在努力testing这个。 我真的不想直接testingreadline方法,因为我没有写代码,但我推断,如果我可以在process.stdout.write上创build一个监听器,那么当enter command:打印到屏幕上,我可以用process.stdin.write("q\n")回应并触发if / else逻辑。 我简化了代码,但是应该解释我正在做的事情: 模块源代码: var Cli = function() { var rl = require('readline'); var self = this; Cli.prototype.promptUser = function() { var inputHandler = rl.createInterface(process.stdin, process.stdout); inputHandler.question('enter command: ', function(answer) { if (answer === 'q') { self.quit(); }; }); }; Cli.prototype.quit = function() { // doSomething }; […]

如何在OrientDB中创build超过60,00,000条边

我想在OrientDB中几分钟内(在30分钟内)创build超过60,00,000条边。 可能吗 ?? 每个边的值取自一个文本文件,并使用节点JS文件stream的readline(使用版本节点4.xx LTS版本) 我已经尝试从Node.js使用OrientJS驱动程序和使用批处理; ..批次的查询结束;提交。 完成它需要将近3小时30分钟。

我应该使用哪些Linux系统调用来读取stdin中的原始字符?

我试图将我的stdrepl库stdrepl到FASM的学习目的。 我知道GNU readline库已经做了我想做的事情,但是我想学习如何在汇编中编写非平凡的程序。 在node.js中,我可以通过编写来轻松创build一个tty: var stdin = process.stdin; stdin.setEncoding("utf8"); stdin.setRawMode(true); stdin.resume(); 我如何在纯assembly中达到相同的结果。 我尝试从一个循环中读取stdin中的一个字节,如下所示,但是在按下某个键之后,它不会立即返回字节: oct db ? mov eax, 3 xor ebx, ebx mov ecx, oct mov edx, 1 请注意, oct的数据定义不是循环的一部分,所以请不要为此而伤害我。 我知道如何构build一个汇编程序。

用Node.js,如何让用户确认覆盖文件?

我有一个JavaScript / Node.js的命令行程序,将数据写入文件。 我想要求用户确认覆盖文件,如果它已经存在。 这失败了: function writeData (filename, data) { var fs = require ('fs'); try { fs.writeFileSync(filename, data, {flag: 'wx'}); } catch (e) { if (e.code === "EEXIST") { console.error ("File already exists."); var readline = require('readline'); var rl = readline.createInterface(process.stdin, process.stdout); rl.question("Overwrite? [yes]/no: ", function(answer) { if(answer == "no") { console.log ("Not overwritting, […]