我在创建javascript时遇到一个小问题。
我有一个生成shell脚本的js(期望,ssh另一台计算机,然后将一些数据发送回nodejs。
我在多线程方面遇到问题。
var cons = spawn('./somescript');
var content;
cons.stdout.on('data', function(block)
{
content += block;
mrdialist = JSON.parse(block);
....
console.log("" + block);
});
console.log("hjdfsdf");
here is some actions with loaded and parced data.
但是当我尝试执行jscript时,它从头开始,并通过加载数据进行所有操作而不加载和解析, 如何在执行后继续执行代码onlu
console.log("" + block);
});
console.log("hjdfsdf");
答案 0 :(得分:1)
spawn将执行asynchrounsly。
发出事件close
时必须执行代码。
var cons = spawn('./somescript');
var content;
cons.stdout.on('data', function(block)
{
content += block;
mrdialist = JSON.parse(block);
....
console.log("" + block);
});
cons.on('close', function () {
console.log("hjdfsdf");
// manipulate content
console.log("content", content);
});