NodeJS,sequelize 捕获错误 return undefined,
NodeJS , sequelize catch error return undefined ,
我使用了 Sequelize + Node,所以我想在单独的服务中编写 Sequelize Validation 部分 class。当我运行此代码结果设置为“未定义”时,请帮我解决这个问题。
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
函数没有return,你应该正确使用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';
}
}
我使用了 Sequelize + Node,所以我想在单独的服务中编写 Sequelize Validation 部分 class。当我运行此代码结果设置为“未定义”时,请帮我解决这个问题。
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
函数没有return,你应该正确使用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';
}
}