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

 霸气的gmail 发布于 2023-02-13 10:27

我们使用内置的应用程序nodejs,expresschild_process.spawn.一个要求是我们需要在运行时生成一个进程并捕获它的输出并将其呈现给用户.

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

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

一切正常.我们只是不关心在显示整个输出之前必须等待命令完成的用户体验.如果我们可以流式传输它,那将是理想的,因为当触发stdout数据事件时,浏览器将使用新数据进行更新.就像现在它确实是大块而不是一个大blob ..所以这很适合这样做.

1 个回答
  • Express路由的响应对象也是可写流的实例,因此允许您将子进程的流传stdio递给响应.

    app.get('/path', function(req, res) {
      var child = spawn('ls', ['-al']);
      child.stdout.pipe(res);
    });
    

    2023-02-13 10:28 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有