首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在使用Node-Webkit执行程序时,将stdout写入div?

在使用Node-Webkit执行程序时,将stdout写入div?
EN

Stack Overflow用户
提问于 2015-02-18 12:23:28
回答 1查看 295关注 0票数 0

在我的Node应用程序中,我使用exec()执行子应用程序。应用程序将一些调试信息打印到shell中。

问题是stdout只在子应用程序退出后发送文本。

是否有方法在子应用程序运行时使用stdout信息更新div元素?

代码语言:javascript
复制
var exec = require('child_process').exec;

exec(executableFile,  function (error, stdout, stderr) {

    if (stdout) {
        // this only updates after the app exits
        console.log('stdout: ' + stdout);
        $('#console-output').append('stdout: ' + stdout +'<br/>');
    }

    if (error !== null) {
      console.log('exec error: ' + error);
    }

});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-18 13:25:19

您需要使用产卵而不是exec

Spawn将数据作为流发送回来,因此您可以使用stdout.on(fn)来访问它。

代码语言:javascript
复制
var spawn = require('child_process').spawn;

var proc = spawn(executableFile);

proc.stderr.on('data', function(stderr) {
    console.log('exec error: ' + stderr); 
});

proc.stdout.on('data', function(stdout) {
    $('#console-output').append('stdout: ' + stdout.toString() + '<br/>');
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28583620

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档