Asynchronous JavaScript
4.3 (754 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,660 students enrolled

Asynchronous JavaScript

Become an expert in Asynchronous JavaScript, Callbacks, Promises, Async/Await, Generators & The Event Loop
4.3 (754 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,660 students enrolled
Created by Asim Hussain
Last updated 2/2019
English
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
05:16
Promises - Quiz #1
06:39
Promises - Chaining
06:35
Promises - Quiz #3
05:38
Promises - Returning Promises
02:31
Promises - Quiz #4
03:25
Promises - Error Handling
05:01
Promises - Quiz #5
02:30
Promises - Finally
04:41
Promises - All
04:32
Promises - Race
03:42
Promises - Quiz #6
05:01
Promises - Quiz #7
09:12
+ Asynchronous Patterns - Async/Await
6 lectures 42:32
Async/Await - Basics
10:50
Async/Await - Quiz #1
07:39
Async/Await - No Await
03:47
Async/Await - Async Iterators
10:38
Async/Await - Quiz #2
06:26
Async/Await - Warning
03:12
+ Asynchronous Patterns - Generators
4 lectures 21:48
Generators - Understanding Generators
08:54
Generators - Using yield to communicate
06:15
Generators - Async Generators
02:08
Generators - Quiz #1
04:31
+ Event Loops
7 lectures 46:46
Introduction
02:29
Node Event Loop
10:29
Node Event Loop Example
06:12
Node Event Loop Live Demo
08:46
Node Event Loop Quiz #1
03:03
Node Event Loop Quiz #2
05:15
Chrome Event Loop
10:32
+ Summary
3 lectures 03:51
Closing Words
03:17
Feedback Form
00:19
Bonus Lecture
00:15
Requirements
  • 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
Description

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

############################################

function doAsyncTask(cb) {
    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.

What

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.

Why

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.

How

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.

Who

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?