【问题标题】:node.js: console.log from child_processnode.js:来自 child_process 的 console.log
【发布时间】:2015-03-06 17:45:12
【问题描述】:

在节点中,我正在使用 child_process 运行 perl 脚本,回调中的 console.log 似乎表现得很奇怪。

child = exec("perl " + validationScript,
        {cwd: myDir},
        function(err, stdout, stderr) {
            console.log('stdout: ' + stdout);
            console.log('stderr: ' + stderr);

            return cb(err);
        });

stdout 打印正确,但 stderr 打印语句未执行。 (如果我注释掉 stdout 打印,则 stderr 打印正确)。那么一些缓冲问题?如何让它们正确打印?

我是异步编程的新手,如果这个问题太基础,请见谅。

【问题讨论】:

    标签: node.js asynchronous callback console


    【解决方案1】:

    你试过没有回报吗?以下代码适用于我。 aa 引发错误,我在 stderr 上有一些东西,如果我只使用 ls,我不会得到错误,而是得到正确的标准输出。

    child = exec('ls aa',
        function(err, stdout, stderr) {
            console.log('stdout: ' + stdout);
            console.log('stderr: ' + stderr);
    
            cb(err);
        });
    function cb(data) {
      console.log(data);
    }
    

    【讨论】:

      猜你喜欢
      • 2019-05-11
      • 1970-01-01
      • 1970-01-01
      • 2017-02-11
      • 2015-03-31
      • 1970-01-01
      • 1970-01-01
      • 2014-10-21
      • 2016-08-13
      相关资源
      最近更新 更多