我正在尝试实时读取由Node.js启动的Python脚本的输出结果。然而,我只能在进程完成后才可以访问数据。
var proc, args;
args = [
'./bin/build_map.py',
'--min_lon',
opts.sw.lng,
'--max_lon',
opts.ne.lng,
'--min_lat',
opts.sw.lat,
'--max_lat',
opts.ne.lat,
'--city',
opts.city
];
proc = spawn('python', args);
proc.stdout.on('data', function (buf) {
console.log(buf.toString());
socket.emit('map-creation-response', buf.toString());
});
如果我使用 { stdio : 'inherit' } 启动进程,我可以直接在控制台上看到输出。但是像 process.stdout.on('data', ...) 这样的操作将不起作用。
我该如何确保能够及时读取子进程的输出并将其定向到其他地方?