title: Returning after calling completion handler, or return completion handler parameter?
body: <p>I have a method that can be summed up to look like this:  </p>
  
  <pre><code>func apply(username: String, email: String, password: String,
             onDone: @escaping (_ error: Error?) -&gt; ())
  {
      //Do async stuff
      do
      {
          try asyncGood()
          onDone(nil)
          return
      }
      catch
      {
          onDone(error)
          return
      }
  }
  </code></pre>
  
  <p>What's the difference between doing:</p>
  
  <pre><code>return onDone(error)
  </code></pre>
  
  <p>versus</p>
  
  <pre><code>onDone(error)
  return
  </code></pre>
  
  <p>?<br>
  Does it just save an extra line of code? I don't see any difference between the two. Am I missing some fundamental aspect of asynchronous Swift programming?  </p>
  
  <p>In your opinion, should I always try to condense everything down such that onDone(...) only gets called <em>once</em> at the end?</p>