Wrapping head around Async code, callbacks

Kind of getting there - the main thing is that when I need to do
something like an http request or grab data from another server, I have
to wait for the response before I can act. Because at its core
javascript / node utilizes asynchronous events, the solution is to use
and understand callbacks.

The best description so far has come from 'Maxogden - Art of Node' :
https://github.com/maxogden/art-of-node#callbacks

He describes how you are basically defining dependencies, so that when
something has finished executing it tells the next function in line to
execute. Node.js can still do other things in the meantime, but if
function B relies on data from function A, you place B inside of A as a
callback like so:

a(function() {
b();
});

Once a has finished executing then it will call b, and any data can be
passed into b for processing. This is what I will need to use for things
like Open-Graph, because when a link is added I need to grab data from
another server, process & format it and then send it down the line as a
msg to be saved and then emitted to the client.

Nonetheless, I'm a bit closer to really understanding how it works, so
should be there soon.