gpt4 book ai didi

javascript - 在 Express 应用程序的函数中返回响应

转载 作者:搜寻专家 更新时间:2023-10-31 23:14:54 24 4
gpt4 key购买 nike

正如我们所知,我们必须在 Express 应用程序中返回响应,以避免“在将 header 发送到客户端后无法设置 header ” 错误。但是,在下面的代码中,我试图返回响应,但它返回到我们的路由器并导致提到的错误。如何直接在函数中返回响应?

router.post("/admins", async function (req, res) {

var newAdminObj = await newAdminObjectDecorator(req.body, res);

var newAdmin = new Admins(newAdminObj)

newAdmin.save(function (err, saveresult) {
if (err) {
return res.status(500).send();
}
else {
return res.status(200).send();
}
});
});



// the function
var newAdminObjectDecorator = async function (entery, res) {

// doing some kinds of stuff in here

// if has errors return response with error code
if (err) {
// app continues after returning the error header response
return res.status(500).send();
}
else {
return result;
}
}

最佳答案

切勿运行 Controller 功能以外的响应操作。让另一个函数返回答案,根据答案决定。

router.post("/admins", async function (req, res) {

var newAdminObj = await newAdminObjectDecorator(req.body);

if (newAdminObj instanceof Error) {
return res.status(500).send()
}

var newAdmin = new Admins(newAdminObj)

newAdmin.save(function (err, saveresult) {
if (err) {
return res.status(500).send();
}
else {
return res.status(200).send();
}
});
});



// the function
var newAdminObjectDecorator = async function (entery) {

// doing some kinds of stuff in here

// if has errors return response with error code
if (err) {
// app continues after returning the error header response
return err;
}
else {
return result;
}
}

关于javascript - 在 Express 应用程序的函数中返回响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54861864/

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