是否可以从异步函数中向请求发送数据?(Node.js/Express.js)

是否可以从异步函数中向请求发送数据?(Node.js/Express.js),node.js,express,backend,Node.js,Express,Backend,(我不熟悉堆栈溢出)。我正在尝试使用req.json()向Express.js中的请求发送json。但是,我正在从异步函数调用req.json()。因此,我收到了错误错误:发送到客户端后无法设置头文件。我读了这篇文章,但它并没有准确回答我的问题,因为我认为我犯错误的原因与那篇文章中提出问题的人不同。所以,我的问题是,是否可以从异步函数向req对象发送数据?如果是,如何做到这一点?如果没有,为什么不可能 以下是一些相关且可验证的代码(由@whodini9请求): 你能分享一下你的代码吗?@whod

(我不熟悉堆栈溢出)。我正在尝试使用
req.json()
向Express.js中的请求发送json。但是,我正在从异步函数调用
req.json()
。因此,我收到了错误
错误:发送到客户端后无法设置头文件
。我读了这篇文章,但它并没有准确回答我的问题,因为我认为我犯错误的原因与那篇文章中提出问题的人不同。所以,我的问题是,是否可以从异步函数向
req
对象发送数据?如果是,如何做到这一点?如果没有,为什么不可能

以下是一些相关且可验证的代码(由@whodini9请求):


你能分享一下你的代码吗?@whodini9完成了。如果你不使用
async
,它能工作吗?记住-app.post()本质上是异步的(您的回调将被异步调用)。那么为什么不干脆
app.post(“/command”),函数(req,res){…}?当我删除
async
时,它仍然不起作用。您的问题很可能源于多次无意中调用res.json()。您能提供一些关于整个
连接[id].exec(第行,…)
的信息/上下文吗?
app.post("/command", async (req, res, next) => {
    connections[id].exec(line, { // This is the async function
        out: (stdout) => {
            res.json({
                output: stdout
            });
        }
    }).start();
});