我使用了Sequelize + Node,所以我想在单独的服务类中编写Sequelize验证部分。当我运行这个代码结果集为"未定义"时,请帮我解决这个问题。
userController.js
let userData = request.body;
let result = await userService.createUser(userData);
console.log(result);
user.service.js
module.exports.createUser = async (userData) => {
let user = {
first_name: userData.first_name,
last_name: userData.last_name,
email: userData.email,
password: userData.password
};
await User.create(user).then(result => {
console.log('success');
return result;
}).catch(error => {
console.log('error');
return 'test';
})
结果代码是undefined
,因为createUser
函数不返回任何,您应该正确使用await/async。试试这个:
module.exports.createUser = async (userData) => {
let user = {
first_name: userData.first_name,
last_name: userData.last_name,
email: userData.email,
password: userData.password
};
try {
const result = await User.create(user);
console.log('success');
return result;
} catch (error) {
console.log('error');
return 'test';
}
}