node async call return data in response
<p>I am new to nodejs so I have a basic question and this is my scanrio</p>

<ol>
<li>I have a javascript client which is making a http request to a node server to read a value from the database.</li>
<li><p>Once the node server receives the request it makes a simple db call and returns the data to the client in the response, and this is where the problem is.</p>

<pre><code>router.get('/state', function(req, res){        
   var result = dbServer.makeDBCall();//Before this line executes and returns the result the next line executes
   res.send(result); 
}
</code></pre></li>
</ol>

<p>The database call from the node server is asynchronous, therefore before the result is returned the node server has already sent a blank response to the client.  What is the standard/acceptable way of getting this achieved, I know I can block the node thread using async, but then the whole purpose of node is gone right?</p>