Javascript 节点内执行回调响应无法正常工作

Javascript 节点内执行回调响应无法正常工作,javascript,node.js,express,child-process,Javascript,Node.js,Express,Child Process,在我运行bash命令上的exec时,我有一个处理url post请求的路由。出于某种原因,console.log可以工作,因此我知道bash命令结束,并且正在输入回调。但是,回复不会让我发送任何内容。如果我将响应移到exec回调的范围之外,那么我的客户机将发送和接收数据。现在响应没有发送任何内容。我也没有出错 router.post('/someurl', function (req, res) { exec('some command', function (error, stdout

在我运行bash命令上的exec时,我有一个处理url post请求的路由。出于某种原因,console.log可以工作,因此我知道bash命令结束,并且正在输入回调。但是,回复不会让我发送任何内容。如果我将响应移到exec回调的范围之外,那么我的客户机将发送和接收数据。现在响应没有发送任何内容。我也没有出错

router.post('/someurl', function (req, res) {
    exec('some command', function (error, stdout, stderr) {
        if(error) {
        console.error('exec error: '+error);
        }
        console.log(stdout);
        res.send(stdout);
    });
 });

response
未定义的并且您正试图对其调用方法,因此请使用
res
,因为它作为参数
函数(req,res){…}

res.send(stdout);

尝试
res.redirect(someURL)
尝试
res.send()
。您有
response.send()
。这是我的错误。我没有完全从文本编辑器复制粘贴代码。问题远不止这些。@user8359904如果您在广播中使用的是
exec
,它应该与我文件顶部的child\u进程模块i declare exec有关。var exec=require('child_process')。exec;您是否尝试过res.redirect(someGetURL)?res.redirect会做什么?我以为它只是用来转到另一个URL。那么,我怎样才能从执行官那里得到数据呢?