title: Understanding asynchronous and synchronous in Dart
body: <p>We know that in Dart everything runs synchronously and according to some definition I found on internet</p>
  <p><strong>When you execute something synchronously, you wait for it to finish before moving on to another task. When you execute something asynchronously, you can move on to another task before it finishes.</strong></p>
  <p>What I don't understand here is that why <strong>b</strong> is printed before <strong>c</strong> I mean if code is running synchronously then it should wait for completion of line 2 to print <strong>c</strong> and only after printing <strong>c</strong>
  It should print <strong>b</strong></p>
  <p>Ps- I know I can use async and await keywords to wait for line 2 to complete it's execution. I just want to understand how this synchronous code works.</p>
  <pre><code>void main(){
  
     print(&quot;a&quot;);
  
     Future.delayed(Duration(seconds: 
     5),(){
      print(&quot;c&quot;);
    });
     print(&quot;b&quot;);
  }
  
  Output- a
          b
          c
         
  </code></pre>