【发布时间】:2016-11-18 06:08:23
【问题描述】:
我已经生成了一个“保持活动状态”的 nodejs 子进程,它会响应传入的 http get 请求。
var spawn = require("child_process").spawn;
var child = spawn("long_live_exe");
app.get("/some_request", function(req, res){
child.stdin.write("some_request\n");
res.send("task completed");
});
理想情况下,我想发回响应,基于child.stdout,像这样
app.get("/some_request", function(req, res){
child.stdin.write("some_request\n");
child.stdout.on('data', function(result){
res.send(result);
});
});
问题在于,对于每个请求,stdout.on 事件函数都会再连接一次。这不是一件坏事吗?
不知怎的,如果我能从stdin.write得到回调函数,想象一下我能不能写代码
app.get("/some_request", function(req, res){
child.stdin.write("some_request\n", function(reply){
res.send(reply);
});
});
问题是如何将child.stdout.on 反馈给 http 请求回调?
【问题讨论】:
标签: node.js