title: Await is not pausing execution
body: <p>I can't figure out why execution continues, and await isn't pausing execution until the called function returns.</p>
  
  <p>In a node.js application</p>
  
  <p>Contacts.js</p>
  
  <pre><code>async function routes (fastify, options) {
      fastify.get('/contact', async (req, reply) =&gt; {
          let lookup = require('../helpers/validate_school');
          let school_info = await lookup.validate(req.hostname.split('.')[0]);
          console.log('here: ', school_info);
          let school = school_info.school;
          ...
          reply.view('application/application.html', school);
      });
  };
  </code></pre>
  
  <p>school.lookup.js</p>
  
  <pre><code>async function validate(hostname){
      const con = require('../../config/db').getDb();
      let ret = {};
      console.log('lets check for school info');
      await con.query('SELECT * FROM schools where identifier=? LIMIT ?', [hostname, 1], function(err, res, fields){
          if (err) throw err;
          if (res.length &gt; 0){
              ret.school = JSON.stringify(res[0]);
              ...
              console.log('found: ', ret);
              return ret;
          } else {
              console.log('not found: ', ret);
              return ret;
          }
      });
  };
  module.exports = {validate: validate};
  </code></pre>
  
  <p>log</p>
  
  <pre><code>lets check for school info
  here:  undefined
  found:  {
    school: '{"id":2,"name":"Second School","school_dbid":"2","primary_color":"purple","secondary_color":"lavender","tertiary_color":"green","quaternary_color":"blue","identifier":"school2","mascot_id":1,"created_at":"2019-11-20T05:22:16.864Z","updated_at":"2019-11-21T17:59:11.956Z"}',
    ...
  }
  </code></pre>
  
  <p>How can I ensure that lookup.validate returns before proceeding in the code block?</p>