在“Main.js”中,我使用 spawn 创建一个 child_process。我想从“work.js”中获取数据,但它显示错误
TypeError: out.clearLine is not a function
如果在终端中使用node work.js
,它工作正常。
似乎 process.stdout 在 childProcess 中没有函数“clearLine”。
主要.js
var spawn = require('child_process').spawn;
var child = spawn('node',['work.js']);
child.stdout.on('data', function (data) {
console.log('data:',data.toString());
})
child.stderr.on('data', function (data) {
console.log("stderr:", data.toString());
});
工作.js
var out = process.stdout;
var idx = 0;
var id = setInterval(()=>{
idx++;
out.clearLine();
out.cursorTo(0);
out.write('workTime:' + idx);
if(idx>3){
clearInterval(id);
console.log();
console.log('end')
}
},100)
这只是一个演示,我无法更改 work.js。我该如何解决 main.js 中的问题,谢谢
最佳答案
参见:node.js stdout clearline() and cursorTo() functions
var readline = require('readline');
function writeWaitingPercent(p) {
//readline.clearLine(process.stdout);
readline.cursorTo(process.stdout, 0);
process.stdout.write(`waiting ... ${p}%`);
}
关于javascript - process.stdout 在 childProcess 中没有函数 "clearLine",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41986317/