title: Unable to resolve promise when using async await with babel and ES6 promise
body: <p>I have the following node app containing an async function, awaiting an ES6 promise.</p>
  
  <pre><code>async function test(id){
      try {
          let val = await Promise.resolve(id);
          console.log("val: " + val);
      } catch (error) {
          console.log("error: " + error);
      }
  }
  
  test(1);
  </code></pre>
  
  <p>Result = val: undefined</p>
  
  <p>Expected result: val: 1</p>
  
  <p>I use gulp-babel to compile this to ES5.</p>
  
  <p>I have the following set within the gulp task:</p>
  
  <pre><code>.pipe(babel({ optional: ["es7.asyncFunctions"] }))
  </code></pre>
  
  <p>I am also requiring in 'babel/polyfill' after npm installing babel.</p>
  
  <p>Transpiled code:</p>
  
  <pre><code>function test(id) {
  var val;
  return regeneratorRuntime.async(function test$(context$1$0) {
      while (1) switch (context$1$0.prev = context$1$0.next) {
          case 0:
              context$1$0.prev = 0;
              context$1$0.next = 3;
              return Promise.resolve(id);
  
          case 3:
              val = context$1$0.sent;
  
              console.log('val: ' + val);
              context$1$0.next = 10;
              break;
  
          case 7:
              context$1$0.prev = 7;
              context$1$0.t0 = context$1$0['catch'](0);
  
              console.log('error: ' + context$1$0.t0);
  
          case 10:
          case 'end':
              return context$1$0.stop();
      }
  }, null, this, [[0, 7]]);
  }
  
  test(1);
  </code></pre>