title: Why the below code is executing asynchronous
body: <p>I have some doubts on this code, why the below code is print "end" before completing fetchData request. Javascript is not asynchronous. then why end method run before completing fetchdata </p>
  
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-js lang-js prettyprint-override"><code>function start(){
    console.log("start")
  }
  function fetchData(){
     fetch('https://jsonplaceholder.typicode.com/todos/1')
    .then(response =&gt; response.json())
    .then(json =&gt; console.log(json))
  }
  function end(){
    console.log("end")
  }
  start()
  fetchData()
  end()</code></pre>
  </div>
  </div>
  </p>