Asynchronous JavaScript
4.2 (771 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
4,745 students enrolled

Asynchronous JavaScript

Become an expert in Asynchronous JavaScript, Callbacks, Promises, Async/Await, Generators & The Event Loop
4.2 (771 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
4,745 students enrolled
Created by Asim Hussain
Last updated 2/2019
English [Auto]
Current price: $83.99 Original price: $119.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 4.5 hours on-demand video
  • 3 articles
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Ace any asynchronous JavaScript interview question
  • Spend less time chasing down bugs in asynchronous code
  • Write fast performant JavaScript applications
  • Understand complex JavaScript concepts
Course content
Expand all 51 lectures 04:38:59
+ Introduction
6 lectures 37:02

In this lecture I'll explain what features are supported in each version of NodeJS, the various different ways you can install NodeJS on your computer, finally I'll show you how to use the tool NVM which let's you install and flip between multiple versions of NodeJS depending on what each of your projects require.

Preview 05:43

Just the absolute essentials to get setup with Visual Studio Code to complete the exercises in this course. We'll cover where to get it and how to install it? How to open a folder of code? How to install some extensions to make your live easier? How to change the settings of VS Code and finally how to debug?

Preview 11:25

How is the JavaScript you write in NodeJS different from the JavaScript you write in the browser. Understanding this will help you understand the fundamental nature of JavaScript and asynchronicity. We'll talk about JavaScript engines, especially the V8 engine, we'll then talk about two implementations of V8 which is NodeJS and Chrome. By the end you will understand the important distinctions of each and how this changes how you write code in each platform.

Preview 12:05
+ Asynchronous Patterns - Promises
13 lectures 01:04:43
Promises - Basics
Promises - Quiz #1
Promises - Chaining
Promises - Quiz #3
Promises - Returning Promises
Promises - Quiz #4
Promises - Error Handling
Promises - Quiz #5
Promises - Finally
Promises - All
Promises - Race
Promises - Quiz #6
Promises - Quiz #7
+ Asynchronous Patterns - Async/Await
6 lectures 42:32
Async/Await - Basics
Async/Await - Quiz #1
Async/Await - No Await
Async/Await - Async Iterators
Async/Await - Quiz #2
Async/Await - Warning
+ Asynchronous Patterns - Generators
4 lectures 21:48
Generators - Understanding Generators
Generators - Using yield to communicate
Generators - Async Generators
Generators - Quiz #1
+ Event Loops
7 lectures 46:46
Node Event Loop
Node Event Loop Example
Node Event Loop Live Demo
Node Event Loop Quiz #1
Node Event Loop Quiz #2
Chrome Event Loop
+ Summary
3 lectures 03:51
Closing Words
Feedback Form
Bonus Lecture
  • Be familiar with `git` and be able to `git clone` repositories from github
  • At least a basic level of Javascript, you must have written an app or two already.
  • Doesn't need to be an expert in Node but must know what it is and be comfortable running JavaScript in Node

Do you know what's wrong with this code? Can you fix it without moving the last variable up the page?


function doAsyncTask(cb) {

doAsyncTask( () => console.log(message) );

const message = "Hello I am a teapot";


If you're not certain then this Asynchronous JavaScript course is perfect for you.


Understanding the asynchronous nature of Javascript is key to mastering the language. 

This course is designed to take someone with a beginner level knowledge of async programming and turn them into an expert.

We do this by starting off very simple, explaining the core concepts. 

Then step by step adding in layers of knowledge, punctuated by quizzes and coding challenges to cement and your knowledge before moving onto the next section.


I promise you'll end this course an expert in asynchronous programming in JavaScript, with knowledge most other experts don't even have.

You'll ace any JavaScript interview questions related to asynchronous code.

You'll spend less time chasing down bugs in async code.

You'll amaze your colleagues and friends with your level of knowledge and expertise in async programming.


I will explain what async and sync code really is, the advantages and disadvantages of each.

We'll cover in-depth the various asynchronous patterns in JavaScript including Callbacks, Promises, Async/Await and even Generators with plenty of exercises to practice what you've learnt.

In the end we'll go deep into the event architecture itself,  you'll know how async code is actually implemented in these applications.


The ideal student for this course is someone with at least a basic level of Javascript, you must have written a few apps already.

You'll also need some familiarity with node and be comfortable on the command line.

But everything else I will explain from first principles.

Who this course is for:
  • Anyone who is a little confused with asynchronous code
  • Anyone who wants to know what the differences are between Callbacks, Promises, Async/Await and Generators
  • Anyone who is interested in writing fast performant code in Node or Browsers.
  • Anyone who wants to know what setImmediate really does?
  • Anyone who wants to know when requestAnimationFrame is run?