title: Shall you await for a return value in an async function?
body: <pre><code>async function delay(t) {
      return new Promise(f=&gt;setTimeout(f, t))
  }
  
  async function delay100() {
      return await delay(100)  //  &lt;---- do we need 'await' here?
  }
  
  async function main(){
      await delay100(); console.log('ok')
      await delay100(); console.log('ok')
      await delay100(); console.log('ok')
      await delay100(); console.log('ok')
  }
  
  main()
  </code></pre>
  
  <p>I do not see much difference, but wonder if awaiting on a an async return value in the async function is better to be performed or not? What would be the reasons to prefer one solution over another? Any performance, portability, usability or semantics considerations?</p>