Эта асинхронная / ожидающая функция записывает в коллекцию Монго перед перенаправлением страницы? - PullRequest
0 голосов
/ 20 января 2019

У меня есть маршрут в экспрессе с функцией, которая добавляет некоторую информацию об атрибутах req.body в коллекцию Монго. Это работает, но я не доволен этим, мне кажется, что это неправильно, и я не думаю, что у меня еще есть мысли об асинхронности / ожидании.

Это код:

router.post("/input/:id", ensureAuthenticated, async (req, res) => {
  Project.findOne({
_id: req.params.id
  }).then(project => {
const newInput = {
  inputTitle: req.body.inputTitle,
  inputValue: req.body.inputValue,
  inputUnits: req.body.inputUnits,
  inputCategory: req.body.inputCategory,
  inputUser: req.user.id
};
// Add to the array, this is the async function
(async () => {
  await project.inputs.unshift(newInput);
})();
project.save().then(project => {
  res.redirect(`/projects/output/${project.id}`);
  });
 });
});

Эта асинхронная функция делает то, что я думаю / надеюсь, что она делает (я хочу добавить переменную newInput в базу данных до перенаправления страницы)? Какой лучший способ сделать это? Должен ли я попытаться написать все это как одну функцию?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...