NodeJS , последовательность возврата ошибки catch не определена ,

#node.js #sequelize.js

Вопрос:

Я использовал узел Sequelize , поэтому я хочу написать часть проверки Sequelize в отдельном классе обслуживания. Когда я запускаю этот код с результатом «неопределенный»,пожалуйста, помогите мне решить эту проблему.

userController.js

 let userData = request.body;      let result = await userService.createUser(userData);  console.log(result);  

user.service.js

  module.exports.createUser = async (userData) =gt; {   let user = {  first_name: userData.first_name,  last_name: userData.last_name,  email: userData.email,  password: userData.password  };    await User.create(user).then(result =gt; {  console.log('success');  return result;  }).catch(error =gt; {  console.log('error');  return 'test';  })    

Ответ №1:

Код результата заключается undefined в том, что createUser функция ничего не возвращает, вы должны правильно использовать await/async. Попробуй это:

 module.exports.createUser = async (userData) =gt; {   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';  } }  

Комментарии:

1. Огромное спасибо. Теперь это работает . Я добавил свой собственный код . snipboard.io/k8UT6c.jpg Затем я получил эти ошибки snipboard.io/wj3eK6.jpg

2. Вы должны проверить входные данные (request.body), потому что кажется, что несколько значений вроде first_name и email пусты.