通过expressjs将stdout从子进程流式传输到浏览器

2023-12-31

我们有一个使用构建的应用程序nodejs, express and child_process.spawn。一个要求是我们需要在运行时生成一个进程并捕获其输出并将其呈现给用户。

我们有这个工作。然而,我们需要找到一种方法来流式传输输出,而不是等到子进程存在。

我们环顾四周,找不到任何明确的例子,想知道这里是否有人有任何想法?

一切正常。我们只是不关心必须等待命令完成才能显示整个输出的用户体验。如果我们可以流式传输它,那将是理想的选择,这样当标准输出数据事件被触发时,浏览器就会使用新数据进行更新。目前它确实是成块的而不是一大块......所以它非常适合这样做。


Express 路由的响应对象也是可写流的实例,因此允许您通过管道传输子进程'stdio流到响应。

app.get('/path', function(req, res) {
  var child = spawn('ls', ['-al']);
  child.stdout.pipe(res);
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过expressjs将stdout从子进程流式传输到浏览器 的相关文章

随机推荐