gpt4 book ai didi

node.js - 如何使 Node process.stdout.on 流中的数据全局可访问?

转载 作者:太空宇宙 更新时间:2023-11-04 02:14:17 24 4
gpt4 key购买 nike

这是我的服务器代码中的一个 js 函数,它有一个从 python 脚本流式传输数据的子进程:

    var dataString = '';
sampleFunc = function(){
var spawn = require('child_process').spawn,
py = spawn('python', ['F:/sample.py']),
data = [1,2,3,4,5,6,7,8,9];

py.stdout.on('data', function(data){
console.log("before data write");
dataString += data.toString();
});

py.stdout.on('end', function(){
console.log("successful");
dataStr = dataString;
console.log(dataString);
});

py.stdin.write(JSON.stringify(data));
console.log("inside stdin");
py.stdin.end();

};

然后我使用 socket.io 将此数据发送到客户端。但 dataStr 在 stdout 之外始终为空。

io.on('connection', function(socket){
sampleFunc();
console.log(dataStr);
console.log('a user connected');

});

我只需要获取进入流的数据:

py.stdout.on('data', function(data){
console.log("before data write");
dataString += data.toString();
});

并能够在套接字代码内访问它。任何解决此问题的帮助将不胜感激......

最佳答案

您只需从套接字发出数据...?

py.stdout.on('data', function(data){
console.log("before data write");
dataString += data.toString();
io.emit(dataString);
});

关于node.js - 如何使 Node process.stdout.on 流中的数据全局可访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36484800/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com