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';
    }
}