【发布时间】:2019-11-12 01:27:04
【问题描述】:
所以我的问题是关于 Node js 管道。所以我的后端看起来像这样——有一个简单的路由,路由调用函数并将可执行类型文件的文件路径传递给它。然后使用childProcess.spawn 运行此文件,并且有一个data 输出,我可以console.log
const express = require("express");
const app = express();
etc...
const runExecutable = (executableFile) => {
const runFile = childProcess.spawn(executableFile);
runFile.stdout.on('data', function(data){
console.log("DATA", data);
})
runFile.on('exit', function(code, signal){
[some code here]
})
}
app.get('/example', (req, res) => {
var file = "./testFile.exe";
runExecutable(file);
})
我的问题是如何将data/a.k.a 块的输出实时传输到客户端,对他们来说重要的是获取数据,而不是我将其写入文件并将整个事情发送给他们。还有一件事需要注意,客户正在通过他们终端中的 curl curl 123.45.678.901/example 访问我的路由,我想通过管道将 data 传送到他们的终端。
在阅读时,我知道例如请求模块执行request.get(url).pipe(res) /[Express res],所以我想知道这是否与我可能需要做的类似。
谢谢大家!
【问题讨论】:
标签: node.js express pipe response