title: Losing zone.js properties after using await command
body: <p>I'm using zone.js inside my AdonisJs project to create execution context. I have a piece of middleware that creates a zone as follows:</p>
  
  <pre><code>async handle ({ request, response }, next) {
      let token = jwtDecode( request.header('Authorization') )
  
      // Create a zone so we have execution context throughout the flow
      return Zone.current.fork({
  
          name: Math.random(),
          properties: {
              username: token.username,
              user_id: token.sub
          }
      }).run( async () =&gt; {
  
          // call next to advance the request
          await next()
      })
  }
  </code></pre>
  
  <p>Inside my controller I can access my zone properties with</p>
  
  <pre><code>let username = Zone.current.get('username')
  </code></pre>
  
  <p>However, the moment I use the <code>await</code> command I lose access to the zone properties, all are undefined. For example:</p>
  
  <p>WORKS</p>
  
  <pre><code>let username = Zone.current.get('username') // ALL OK
  let order = await Order.find(params.id);
  </code></pre>
  
  <p>NOT WORK</p>
  
  <pre><code>let order = await Order.find(params.id);
  let username = Zone.current.get('username') // UNDEFINED
  </code></pre>
  
  <p>Can anybody please advise? </p>