Я пытаюсь реплицировать проект devconnector, но когда я делаю запрос на публикацию профиля, маршрут создания профиля, запрос на публикацию находится в ожидании

#reactjs #mongodb #express

#реагирует на #mongodb #экспресс

Вопрос:

это и есть маршрут:

 router.post(  '/',  [ auth,  check('status', 'Status is required').not().isEmpty(),  check('skills', 'Skills is required').not().isEmpty(),  ],  async (req, res) =gt; {  const errors = validationResult(req);  if (!errors.isEmpty()) {  return res.status(400).json({ errors: errors.array() });  }    // destructure the request  const {  website,  skills,  youtube,  twitter,  instagram,  linkedin,  facebook,  // spread the rest of the fields we don't need to check  ...rest  } = req.body;    // build a profile  const profileFields = {  user: req.user.id,  website:  website amp;amp; website !== ''  ? normalize(website, { forceHttps: true })  : '',  skills: Array.isArray(skills)  ? skills  : skills.split(',').map((skill) =gt; ' '   skill.trim()),  ...rest  };    // Build socialFields object  const socialFields = { youtube, twitter, instagram, linkedin, facebook };    // normalize social fields to ensure valid url  for (const [key, value] of Object.entries(socialFields)) {  if (value amp;amp; value.length gt; 0)  socialFields[key] = normalize(value, { forceHttps: true });  }  // add to profileFields  profileFields.social = socialFields;    try {  // Using upsert option (creates new doc if no match is found):  let profile = await Profile.findOneAndUpdate(  { user: req.user.id },  { $set: profileFields },  { new: true, upsert: true, setDefaultsOnInsert: true }  );  return res.json(profile);  } catch (err) {  console.error(err.message);  return res.status(500).send('Server Error');  }  }  );  

это Аксиос:

 axios.post('/api/profile',profileData, {headers:{  'x-auth-token': localStorage.getItem('jwtToken')  }}).then(data =gt; console.log(data)).catch(e =gt; console.error(e))  

это проблема: рассматриваемый

Ответ №1:

Вы пробовали использовать отладчик для отслеживания потока программного обеспечения? У вас есть какой-нибудь журнал со стороны экспресса? Я бы начал проверять, let profile = await Profile.findOneAndUpdate достигнуто ли это, чтобы определить, начинается ли проблема с запросом бд. На этом этапе я бы сказал, что выполнение находится в ожидании ожидания тайм-аута бд