title: How to use multiple async / await calls in a string of conditionals?
body: <p>I am using async / await with conditionals:</p>
  
  <pre><code>async function validate() {
      const a = await validateA()
      const b = await validateB()
      const c = await validateC()
      return a &amp;&amp; b &amp;&amp; c ? true : false
  }
  </code></pre>
  
  <p>But this does not seem ideal, because there is no reason to execute validateB and validateC if validateA returns false.</p>
  
  <p>I can rewrite it like so:</p>
  
  <pre><code>async function validate() {
      const a = await validateA()
      if (!a) return false
      const b = await validateB()
      if (!b) return false
      const c = await validateC()
      return c ? true : false
  }
  </code></pre>
  
  <p>But this just looks ugly to me.</p>
  
  <p>Really I would like to do something like this (pseudo-code):</p>
  
  <pre><code>async function validate() {
      return await validateA() &amp;&amp; await validateB() &amp;&amp; await validateC() ? true : false
  }
  </code></pre>
  
  <p>This doesn't work of course, but the intent is that, just like an if statement, if a condition fails, subsequent conditions are not evaluated.</p>
  
  <p>How do I write this correctly with async / await? </p>