【发布时间】:2015-01-19 10:43:15
【问题描述】:
我正在使用 nodejs 与我制作的 casperjs 脚本进行通信。 首先我会告诉你我的 Casperjs 脚本是做什么的。 我已经用命令行输入设置了它。 我运行这个命令
casperjs script.js "Inputdata1" "inputdata2"
此脚本然后执行并访问我的一个服务器提交输入数据 1 和 2。
然后等待服务器响应并为 10 个文本文件之一设置一行 取决于脚本从我的服务器获得的结果
然后退出。这个 casperjs 脚本运行良好,没有问题。
现在我正在构建一个 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 ' + line );
child.on('close', function(code) {
console.log('closing code: ' + code);
});
});
【问题讨论】:
标签: node.js wait exit readline child-process