javascript - 如何从快递中提取响应对象?
问题描述
我正在尝试使用 mysql 构建一个 nodejs 应用程序,我想要的是我发送的控制器和消息应该在单独的文件中,如下所示
这是我的身份验证控制器文件
exports.signup = (req, res) => {
try {
const { name, username, email, phone_number, gender } = req.body;
const payload = [name, username, email, phone_number, gender];
connection.query(signupUserQuery, payload, (error) => {
if (error) {
return errorMessage('Signup Failed');
} else {
return createdMessage('Signup SuccessFul');
}
});
} catch (error) {
return errorMessage('Signup Failed');
}
};
这是我保存消息的消息文件
module.exports = {
createdMessage: function (message) {
return res.status(201).json({
isError: false,
message: message,
});
},
errorMessage: function (message) {
return res.status(500).json({
isError: true,
message: message,
});
},
};
所以我想要的是每当执行控制器时我想返回这个函数但是问题是当我尝试这样做时我得到了错误因为 res 没有定义所以有什么方法可以在这个 messages.js 文件中使用 res
我尝试过的是我从控制器发送 res 对象,这有效,但这是重复的,我不想重复自己
还有一件事我在单独的文件链接中写了我的查询
insert into tbl_user (name,username,email,phone_number,gender) values (?,?,?,?,?)
但这里的问题是我必须根据我需要的字段打上问号,所以有没有办法在单个问号中做到这一点?
解决方案
你可以像这样使用它。
这是您的 messages.js 文件。
function createdMessage (message) {
return {
isError: false,
message: message
}
}
function errorMessage (message) {
return {
isError: true,
message: message
}
}
module.export = {
createdMessage,
errorMessage
}
这是认证控制器.js
const { createdMessage, errorMessage } = require("./messages.js");
exports.signup = (req, res) => {
try {
const { name, username, email, phone_number, gender } = req.body;
const payload = [name, username, email, phone_number, gender];
connection.query(signupUserQuery, payload, (error) => {
if (error) {
return res
.status(400)
.send(errorMessage('Signup Failed'));
} else {
return res
.status(201)
.send(createdMessage('Signup SuccessFul'));
}
});
} catch (error) {
return res
.status(400)
.send(errorMessage('Signup Failed'));
}
};
推荐阅读
- javascript - 在嵌套对象中正确字符串化 JSON
- javascript - 有没有办法知道什么叫做我的 HTML 页面
- python - 使用 Autokeras 在 Keras 回调函数中获取试用号
- r-markdown - MS Word 中的 Bookdown 自定义块 (word_document2)
- python - 如何找出 Python 文件 read() 方法在文件中的哪个位置失败?(ValueError:int() 的无效文字,基数为 10:)
- github - 将 Jenkins 与将 MFA 配置到 github 帐户的 Github 集成
- javascript - Chart.js 3.3.0 和 destory() 的 React 问题
- unity3d - 如何从 Autodesk Forge AR / VR Toolkit 中获取 DbID 以过滤场景
- django - 为在 django 中创建的新租户自动创建新的超级用户
- php - 使用查询结果在 php while 循环中一个接一个地显示图像