Call stack and event loop

In the last section, we ended up creating our very first asynchronous application, but unfortunately we ended up asking more questions than we got answers. We don't exactly know how async programming works even though we've used it. Our goal for this section is to understand why the program runs the way it does.

For example, why does the two-second delay in the following code not prevent the rest of the app from running, and why does a 0 second delay cause the function to be executed after Finishing up prints to the screen?

console.log('Starting app');setTimeout(() => {  console.log('Inside of callback');}, 2000);setTimeout(() => {  console.log('Second setTimeout');}, 0);console.log('Finishing up');

These are all questions ...

Get Learning Node.js Development now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.