NodeJS , sequelize catch error return undefined ,



我使用了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';
}
}

最新更新