How much is JavaScript with Node.js asynchronous?

I know that node.js is asynchronous, but what I don't really understand is how much.

Example:

If a need to do 3 things in sequence, and I need every thing is done before the other begins, Do i must need to use Callback?

var myContainer;
for(var i=0;i<10000;i++)
    myContainer.push(i.toString());
for(var j=0;j<myContainer.length;j++)
    console.log(myContainer[j]);
for(var x=0;x<myContainer.length;x++)
    myModuleForEmails.sendEmailsTo(myContainer[x]);

Ok, suppose for one moment I have a module like Imap ready and calling myModuleForEmails.sendEmailsTo(myContainer[x]) I really send the email.

I know also that this program is absolutely useless, but it's just to understand.

Suppose I must push all 10000 string in myContainer, only THEN log all the string that are in myContainer in the console, and only AFTER BOTH I need to send the emails.

Is this version reliable or do I need 2 callback? And Does the number of iteration I do matter? i.e, if i had used 10 instead of 10000, could I have used this syntax because it takes so few to do 10 operation that finishes the first for cycle before starting the second?