首页 > 解决方案 > 是否可以从异步函数中向请求发送数据?(Node.js/Express.js)

问题描述

(我是堆栈溢出的新手)。我正在尝试使用req.json()将 json 发送到 Express.js 中的请求。但是,我是req.json()从异步函数调用的。因此,我收到错误Error: Can't set headers after they are sent to the client。我阅读了这篇文章,但它并没有准确回答我的问题——因为我认为我收到错误的原因与该帖子中的提问者不同。所以,我的问题是,是否可以req从异步函数向对象发送数据?如果是这样,那是怎么做的?如果不是,为什么不可能?

这是一些相关且可验证的代码(由@whodini9 要求):

app.post("/command", async (req, res, next) => {
    connections[id].exec(line, { // This is the async function
        out: (stdout) => {
            res.json({
                output: stdout
            });
        }
    }).start();
});

标签: node.jsexpressbackend

解决方案


推荐阅读