Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA Amazon AWS AWS Certified Developer - Associate CompTIA Security+
Photoshop Graphic Design Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Mindfulness Personal Development Personal Transformation Meditation Life Purpose Neuroscience Coaching
Web Development JavaScript React CSS Angular PHP Node.Js WordPress Python
Google Flutter Android Development iOS Development Swift React Native Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Google Analytics
SQL Microsoft Power BI Tableau Business Analysis Business Intelligence MySQL Data Analysis Data Modeling Big Data
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Online Business Business Plan Startup Freelancing Blogging Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
30-Day Money-Back Guarantee

This course includes:

  • 4.5 hours on-demand video
  • 3 articles
  • Full lifetime access
  • Access on mobile and TV
Development Web Development JavaScript

Asynchronous JavaScript

Become an expert in Asynchronous JavaScript, Callbacks, Promises, Async/Await, Generators & The Event Loop
Rating: 4.2 out of 54.2 (828 ratings)
5,039 students
Created by Asim Hussain
Last updated 2/2019
English
English [Auto]
30-Day Money-Back Guarantee

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
Curated for the Udemy for Business collection

Course content

9 sections • 51 lectures • 4h 38m total length

  • Preview02:13
  • Preview03:42
  • Preview01:54
  • Preview05:43
  • How to get setup with Visual Studio Code?
    Preview11:25
  • Whats V8 vs Chrome vs Node?
    Preview12:05

  • Preview01:23
  • What is Asynchronous?
    Preview05:06
  • Blocking vs Non-Blocking
    Preview11:30
  • Preview08:26
  • Preview12:03

  • Preview02:25

  • IMPORTANT PLEASE READ
    00:22
  • Preview05:55
  • Preview04:45
  • Preview03:36
  • Preview01:59
  • Preview04:46

  • 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

  • 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

  • Generators - Understanding Generators
    08:54
  • Generators - Using yield to communicate
    06:15
  • Generators - Async Generators
    02:08
  • Generators - Quiz #1
    04:31

  • 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

  • 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?

Featured review

Matthew Kindness
Matthew Kindness
208 courses
5 reviews
Rating: 5.0 out of 5a year ago
Asim does an excellent job of explaining some very complex and advanced parts of asynchronous javascript. Not only is he great at explaining it, he very meticulously walks you through the different steps of the exercises and does a thorough explanation of why and how we got the results we received. I would consider this to be an intermediate to advanced course, but everyone interested in javascript should know these parts of javascript and computing.

Instructor

Asim Hussain
Conference speaker, published author & passionate teacher
Asim Hussain
  • 4.5 Instructor Rating
  • 7,370 Reviews
  • 43,400 Students
  • 5 Courses

Over 17 years experience working for organisations such as the European Space Agency, Google and now Microsoft. Regular conference speaker and published author.

Wrote my first program in 1988, my first website in 1996, earned a 1st Class Degree in Computer Science in 2000 and now 18 years later I am a Cloud Developer Advocate for Microsoft, my job is to get developers excited about writing JavaScript applications on Azure, Microsofts cloud platform.

Through Udemy and my personal website I'm now also following my dream of teaching other passionate developers like myself what I know.

# What do I believe?

- I believe as a developer at it's heart, your job is to make the lives of other people more productive, that's what computing is all about.

- So if you yourself are not 100% focussed on making your own development as productive as possible then it doesn't bode well for your clients.

# What are my values?

- I'm 100% focused on practical development skills.

- I don't waste peoples time.

- I value my time and I value yours.

- I'm driven to be the most productive developer I can possibly be. I don't get caught up in philosophical debates.

- I believe in learning from first principles.

If those are your values as well them you will love my courses.

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.