title: ES6 node async/await unexpected identifier
body: <p>I have the following code that worked when running against babel.  Now that I'm using harmony I get the following error:</p>
  
  <pre><code>let adResult = await ad.isUserValid(domainPath, password);
  ^^
  SyntaxError: Unexpected identifier
  </code></pre>
  
  <p>The following class function:</p>
  
  <pre><code>class ActiveDirectoryHelper {
      constructor(options) {
          this.config = options.config
          this.ad = null;
      }
  
      connect() {
  
          var config = {
              url: this.config.url,
              baseDN: this.config.baseDN,
              attributes: this.config.attributes
          };
  
          if (this.config.account.user.length &gt; 0) {
              config.username = this.config.account.user;
              config.password = this.config.account.password;
          }
  
          this.ad = new ActiveDirectory(config);
      }
  
      async isUserValid(user, password) {
          return new Promise((resolve, reject) =&gt; {
  
              this.ad.authenticate(user, password, (err, auth) =&gt; {
                  if (err) {
                      reject({
                          code: 500,
                          message: "Unknown authentication error",
                          entry: {}
                      });
                  }
  
                  if (auth) {
                      resolve({
                          code: 200,
                          message: "OK",
                          entry: {
                              user: user,
                              password: password
                          }
                      });
  
                  } else {
                      reject({
                          code: 400,
                          message: "Authentication failed",
                          entry: {}
                      });
  
                  }
  
              });
          });
      }
  ...
  
  exports.ActiveDirectoryHelper = ActiveDirectoryHelper;
  </code></pre>
  
  <p>I use the class as follows:</p>
  
  <pre><code>const ad = new ActiveDirectoryHelper({
      config: adConfig
  });
  ad.connect();
  
  const domainPath = domain.length &gt; 0 ? `${domain}\\${user}` : user;
  const adResult = await ad.isUserValid(domainPath, password);
  </code></pre>
  
  <p>I run the code using the following parameters:</p>
  
  <pre><code>node --harmony --use_strict --harmony-async-await user.js &lt;my parameters&gt;
  </code></pre>
  
  <p>If I take the await when calling the method:</p>
  
  <pre><code>const adResult = ad.isUserValid(domainPath, password);
  </code></pre>
  
  <p>then I don't have the error but it also doesnt wait till the method finishes.
  I've googled the error and it seems like your only able to use await within a function that async is in.  But without await outside of the method call, it doesnt wait till its finished.  Any ideas?</p>