Node.js生成对象未执行

时间:2019-06-24 09:24:45

标签: node.js reactjs express stdout child-process

我正在尝试让我的reactjs应用程序与python脚本(执行shell命令)进行通信。

这是我的python脚本:

import subprocess, sys
fid = sys.argv[1]
p = subprocess.Popen(['date'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
(output, err) = p.communicate()
print(output.decode('ascii'))
sys.stdout.flush()

这是javascript函数:

export function getData(fid) {
  const {spawn} = require("child_process");
  const pythonProcess = spawn('python', ['./getEpv.py', fid]);
  pythonProcess.stdout.on('data', (data) => {  // Code is stuck here
    console.log('Data output: ', data.toString());
    return data;
  });
}

这是我的快速后端,它调用getData()方法:

app.get('/getAPIToken', (req, res) => {
  console.log('getData: ', getEpv('XXX'));
  res.send({data: getData('XXX')});
  // res.send({data: 'TEST'});
});

包装方法正在调用我的后端网址:

export default function callData() {
  return axios.get('/getAPIToken');
}

最后,在我的App.js中,我写了以下内容:

callData().then(response => {
      console.log('response: ', response);
    });

代码停留在pythonProcess.stdout.on('data', (data) => {上,我不确定自己做错了什么。 javascript文件和python文件都在同一目录中。

0 个答案:

没有答案