title: Why Asynchronous over Synchronous Functions?
body: <p>I am new to NodeJS and I am finding it slightly hard to work with asynchronous functions. I am trying to figure out the benefits here. Below are my understandings on Asynchronous functions. </p>
  
  <p><strong>Can you kindly please validate each of my understandings below?</strong></p>
  
  <ol>
  <li>Asynchronous functions are good to use when an independent operation (from the main program flow) to be executed. It is not ideal to use asynchronous functions when the data/response from the asynchronous function is very much required by the main program or when the various independent asynchronous functions are interconnected.</li>
  <li>It is not good to depend on the result of the output of the async function in the main program flow. Because Async always executes after the main flow. So if you need some functions to be executed in the main flow, its good to define it as Synchronous, not asynchronous.</li>
  <li>When Independent async functions are called, it's a common practice to call the subsequent operation(async function), using promises or callbacks. </li>
  <li>I still can call a sync function within an Async function. But if I call an async function from a sync function  the program may not work as expected since the async function will be executed only at the last? </li>
  </ol>