Introduction
  • Introduction
  • Structure Of This Course
Difference Between Synchronous And Asynchronous Actions
  • Typical Example of an Asynchronous Action in JavaScript
  • Synchronous vs Asynchronous in JavaScript
  • Small Note about Github Repository
  • Event Loop in JavaScript. Call Stack and Message Queue
  • Let's Fix Our Example
Callback Function In JavaScript
  • What Is Callback In JavaScript?
  • Callback Function Is Not Always Asynchronous
  • How To Handle Errors In Asynchronous Code
  • Pros & Cons Of Callback Function
  • Callback Examples In JavaScript Libraries
  • Callbacks Lack Readability
  • Callback Hell In JavaScript
Testing Callback Functions
  • Setting Up Testing Environment
  • Testing Callback Functions With Mocha And Chai
Promise In JavaScript
  • What Is JavaScript Promise
  • How To Create A New Promise
  • Final States Of The Promise
  • How To Use JavaScript Promise. Then Method
  • Rewriting calculateSquare Function Using Promises
  • How To Promisify Any Function in JavaScript
  • Chaining Promises In JavaScript
  • Making HTTP Requests Using Fetch API
  • How To Avoid Callback Hell
  • Handling Promise Rejections
  • Promise.resolve And Promise.reject
  • Executing Promises In Parallel: Promise.all Method
  • How Promise.all Handles Rejections
  • Which Promise Is Faster? Promise.race Method
Testing Promises In JavaScript
  • Setting Up Testing Environment
  • Testing JavaScript Promises Using Mocha And Chai
  • Timeouts In Mocha
  • Making Multiple Promise Assertions In One Test
Async Await in JavaScript
  • Async Functions in JavaScript
  • Await Keyword in JavaScript
  • Using Async Await with Fetch API
  • Top Level Await
  • Handling Errors Using Async Await
  • Sequential vs Parallel Execution
Summary
  • Summary
  • Bonus Lecture: Other Courses with Discounts