title: How to understand Tornado gen.coroutine
body: <p>I'm just a newbie to Tornado but not Python.</p>
  
  <p><strong>I'm trying to write an async client for CouchDB(using couchdb package).</strong></p>
  
  <p>After 1 day research/Googling, I found every posts just simply using HttpAsyncClient for example and not telling why and how <strong>gen.coroutine</strong> works.
  The source code just too complicated for me understand cause decorator after decorator HttpAsyncClient is a bad example to me...</p>