javascript - process.stdout 在 childProcess 中没有函数 "clearLine"

标签 javascript node.js

在“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/

相关文章:

javascript - 了解类 : Compose a Triangle from extending 3 points?

node.js - 如何通过Node.js使用多个处理器?

node.js - Node JS 适合作为即时通讯服务吗? MongoDB 适合做数据库吗?

node.js - 资金不能发送到位于我们的账户,因为它在您的平台区域之外

javascript - Google 可视化双 Y 轴图表将线与特定条对齐

javascript - 外部脚本未在移动设备上加载 : Uncaught TypeError

node.js - React.JS - 完全不在 Node 中安装 - Express View 模板

node.js - TypeScript console.log 不起作用

javascript - IE6 会跳过 javascript 中的错误吗?

javascript - 动态创建React组件