title: How are node.js callbacks asynchronous?
body: <p>I have recently started with node.js. It quotes that node.js asynchronous behaviour can be used in three ways <code>events</code>, <code>stream</code>, <code>callback</code>.</p>
  
  <p>Events and stream work on <code>emit,pipe</code> event making it truly async, but how is callback async, as it <strong>executes</strong> before the return of the function unless <strong>process.nextTick()</strong> is used.</p>
  
  <p>Events:</p>
  
  <pre><code>event.on('data',function(data){
  
  });
  </code></pre>
  
  <p>Callback:</p>
  
  <pre><code>function(data,cb){
   // do something with "data"
   cb();
   return;   
  }
  </code></pre>