title: Returning Promise with an async function
body: <p>Given the following two implementations (in ES6 / NodeJS)</p>
  
  <pre><code>async TestFunc() {
      return new Promise((resolve,reject) =&gt; {
          ...
      });
  }
  </code></pre>
  
  <p>and</p>
  
  <pre><code>TestFunc() {
      return new Promise((resolve,reject) =&gt; {
          ...
      });
  }
  </code></pre>
  
  <p>Is there any difference in behavior if I were to call either of these functions like so?</p>
  
  <pre><code>await TestFunc();
  </code></pre>
  
  <p>I would assume that the first (async) implementation would return a promise, and we would be awaiting that to return another promise, whereas the latter (synchronous) implementation would return the promise, which then would get awaited. However, they both work as expected, leaving me a bit confused.</p>