title: Javascript await / promise order of execution is not as expected
body: <p>In my Nodejs project I would just like to <code>await</code> a mongoose.save function before continuing with my code. The below example does not work, but can anyone help me with something that will work please.</p>
  
  <pre><code>app.post('/api/CreateUser', async (req, res) =&gt; {
      const newUser = new User({
          'email': req.body.email,
          'name': req.body.name
      });
      console.log('before save');
      await newUser.save((err, userDoc) =&gt; {
          if (err) return res.status(400).send(err);
          console.log('saved item');
      });
      console.log('after save');
  });
  </code></pre>
  
  <p>The current console.log order is:</p>
  
  <ol>
  <li>before save</li>
  <li>after save </li>
  <li>saved item</li>
  </ol>
  
  <p>But I would like it to be:</p>
  
  <ol>
  <li>before save</li>
  <li>saved item </li>
  <li>after save </li>
  </ol>