im the overlay

Asynchronous JS

Introduction

Since Javascript is single threaded, it can only handle one thing at a time. If JS had to run synchronously, meaning the code runs line by line as it is written, we would run into issues where tasks that take a while would block the whole program.

Imagine you enter a cafe, and want to do the following

  1. Order breakfast
  2. Eat breakfast
  3. Write some code

You could do all of these tasks synchronously, but that would be inneficient. While you obviously can't start eating before your food arives, there's nothing stopping you from writing code while you wait for your order

orderBreakfast().then(food => eat(food))
writeSomeCode()

Callback functions

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Illo laudantium pariatur numquam harum distinctio architecto velit odit facilis quasi tenetur voluptas illum sint quam dignissimos veniam, autem quos corrupti suscipit voluptatum aut commodi. Consequuntur necessitatibus ullam nisi

Promises

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Illo laudantium pariatur numquam harum distinctio architecto velit odit facilis quasi tenetur voluptas illum sint quam dignissimos veniam, autem quos corrupti suscipit voluptatum aut commodi. Consequuntur necessitatibus ullam nisi

Async Await

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Illo laudantium pariatur numquam harum distinctio architecto velit odit facilis quasi tenetur voluptas illum sint quam dignissimos veniam, autem quos corrupti suscipit voluptatum aut commodi. Consequuntur necessitatibus ullam nisi

Challenge 1
Solution 1
Challenge 2
Solution 2
press 'run' to view console output