--- title: Asynchronous JavaScript slug: Learn/JavaScript/Asynchronous tags: - Beginner - CodingScripting - Guide - JavaScript - Landing - NeedsTranslation - Promises - TopicStub - async - asynchronous - await - callbacks - requestAnimationFrame - setInterval - setTimeout translation_of: Learn/JavaScript/Asynchronous ---
In this module we take a look at {{Glossary("asynchronous")}} {{Glossary("JavaScript")}}, why it is important, and how it can be used to effectively handle potential blocking operations such as fetching resources from a server.
We have put together a course that includes all the essential information you need to work towards your goal.
Asynchronous JavaScript is a fairly advanced topic, and you are advised to work through JavaScript first steps and JavaScript building blocks modules before attempting this.
If you are not familiar with the concept of asynchronous programming, you should definitely start with the General asynchronous programming concepts article in this module. If you are, then you can probably skip to the Introducing asynchronous JavaScript module.
Note: If you are working on a computer/tablet/other device where you don't have the ability to create your own files, you can try out (most of) the code examples in an online coding program such as JSBin or Glitch.
In this article we'll run through a number of important concepts relating to asynchronous programming, and how this looks in web browsers and JavaScript. You should understand these concepts before working through the other articles in the module.
async
functions and the await
operator. The former allows standard functions to implicitly behave asynchronously with promises, whereas the latter can be used inside async
functions to wait for promises before the function continues. This makes chaining promises simpler and easier to read.