Мангуст ждут спасения - PullRequest
       8

Мангуст ждут спасения

0 голосов
/ 16 октября 2018

В моем проекте Nodejs я просто хотел бы await функцию mongoose.save, прежде чем продолжить работу с моим кодом.Приведенный ниже пример не работает, но может кто-нибудь помочь мне с чем-то, что будет работать, пожалуйста.

app.post('/api/CreateUser', async (req, res) => {
    const newUser = new User({
        'email': req.body.email,
        'name': req.body.name
    });
    console.log('before save');
    await newUser.save((err, userDoc) => {
        if (err) return res.status(400).send(err);
        console.log('saved item');
    });
    console.log('after save');
});

Текущий порядок console.log:

  1. до сохранения
  2. после сохранения
  3. сохраненный элемент

Но мне бы хотелось, чтобы оно было:

  1. до сохранения
  2. сохраненный элемент
  3. после сохранения

1 Ответ

0 голосов
/ 16 октября 2018

Пожалуйста, измените код на try и catch.

Также проверьте, как использовать await.

try {
  const newUser = new User({
    'email': req.body.email,
    'name': req.body.name
  });
  console.log('before save');
  let saveUser = await newUser.save(); //when fail its goes to catch
  console.log(saveUser); //when success it print.
  console.log('after save');
} catch (err) {
  console.log('err' + err);
  res.status(500).send(err);
}
...