title: How do you escape try/catch hell in Javascript?
body: <p>Ok, I like(d) try/catch with await/async.</p>
  
  <p>But what do I do with this.</p>
  
  <p><strong>I wanted to do this..</strong></p>
  
  <pre><code>let a = await doAbc();
  let b = await do123(a);
  </code></pre>
  
  <p><strong>what it becomes instead is</strong></p>
  
  <pre><code>let a, b;
  
  try {
     a = await doAbc();
  } catch(e) {
     a = await doZxc();
  }
  
  try { 
     b = await do123(a);
  } catch (e) {
     console.log(e);
     return;
  }
  
  if (b.data == undefined) {
      return -1;
  } else {
      return b;
  }
  </code></pre>
  
  <p><strong>At this point I'm regretting everything.</strong></p>