title: Send asynchronous HTTP requests one after another
body: <p>I am trying to use <code>aiohttp</code> to send requests one after another like this</p>
  <pre><code>import aiohttp
  import asyncio
  from datetime import datetime
  
  
  async def main():
      request_url = &quot;https://...&quot;
      async with aiohttp.ClientSession() as session:
          while True:
              print(datetime.now())
              async with session.get(request_url) as response:
                  json_data = await response.json()
              print(json_data)
              await asyncio.sleep(0.2)
  
  
  if __name__ == &quot;__main__&quot;:
      loop = asyncio.get_event_loop()
      loop.run_until_complete(main())
  </code></pre>
  <p>So I would expect each datetime print to be 0.2s apart. However, they seem to be about 0.35s apart as I think it takes 0.15s to get the data from the response. Why is this happening? I want it to be asynchronous so it should just go onto the next one?</p>
  <p>How can I fix this?</p>