Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Frontend Masters

Asynchronous Programming in JavaScript (with Rx.js Observables)

via Frontend Masters


Learning how to build and manage asynchronous programs is perhaps the most important part of becoming an effective JavaScript programmer. Unlike most programming languages, JavaScript is single-threaded. As a result, JavaScript programs must use async APIs to stay responsive to user input while performing long-running tasks like server requests and animations. You can't get very far in a JavaScript program without running across an asynchronous API. It is possible to build most asynchronous programs using a handful of simple functions. We will learn why most JavaScript developers approach asynchronous programming the wrong way, and how to avoid these common mistakes. By the end of these lessons you will know the tools, concepts, and libraries required to be an asynchronous programming ninja!


  • Introduction
  • JavaScript Tutorial
  • Creating Collections
  • Iterators and Observers
  • Observables Introduction
  • Observable Metaphor
  • Observables in Action
  • Race Conditions and Nested Observables
  • TakeUntil
  • Implementing Mouse Move
  • MergeAll & SwitchLatest
  • Netflix Search Box
  • Optimizing the Search
  • Three-Dimensional Collections
  • Exercises 1-5
  • Exercises 6-11
  • Exercise 12
  • Exercises 13-14
  • Exercises 15-17
  • Exercises 18-19
  • Exercise 20
  • Exercises 21-23
  • Exercise 24
  • Debugging Async
  • SQL Comparison
  • Exercise 25
  • Exercise 26a
  • Exercise 26b
  • Exercise 27
  • Exercises 28-30
  • Exercise 31
  • Observables and Events
  • Anatomy of an Observable
  • Creating a setTimeout Observable
  • Observables vs. Promises
  • Exercise 32
  • Exercise 33
  • Exercise 34
  • Searching Wikipedia
  • JSONP as an Observable
  • Composing a Stream
  • Displaying Autocomplete Data
  • distinctUntilChanged()
  • Catching Errors
  • Handling Empty Searches
  • Showing the Search Box
  • Close Button Observable
  • Completing the Close Button
  • Audience Questions
  • Creating an Observable Class
  • Observable Map Function
  • Observable Filter Function
  • Using the Observable Class
  • Observable Take Function
  • Implementing a Better Object.observe
  • Binding Between Views and Models
  • Syncing Data with the Server
  • Observables as Animations

Taught by

Jafar Husain


Start your review of Asynchronous Programming in JavaScript (with Rx.js Observables)

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.