small medium large xlarge

Reactive Programming with RxJS: Untangle Your Asynchronous JavaScript Code


Cover image for Reactive Programming with RxJS

Reactive Programming with RxJS

Untangle Your Asynchronous JavaScript Code


Reactive programming is revolutionary. It makes asynchronous programming clean, intuitive, and robust. Use the RxJS library to write complex programs in a simple way, unifying asynchronous mechanisms such as callbacks and promises into a powerful data type: the Observable. Learn to think about your programs as streams of data that you can transform by expressing what should happen, instead of having to painstakingly program how it should happen. Manage real-world concurrency and write complex flows of events in your applications with ease.

Customer Reviews

Every significant shift in software development demands rethinking our approaches. Real-time and asynchronous web applications pose a huge challenge in web development today. This book does an excellent job explaining how RxJS addresses those challenges and teaches you how to rethink your world in terms of Observables.

- Zef Hemel

VP engineering, STX Next

This book is as hot as reactive programming itself! With great writing, clear explanations, and practical examples, this is a fantastic resource for learning RxJS.

- Fred Daoud

Software-development contractor

Be proactive and learn reactive programming with this book before it’s too late. Rx.Observable.fromBook(book).subscribe(function(value) {…do amazing stuff…});

- Javier Collado Cabeza

Senior software developer, NowSecure, Inc.

A very readable book with great content. This book is eminently useful and provides a clear roadmap for learning reactive programming with RxJS with practical examples.

- Ramaninder Singh Jhajj

Software engineer, Know-Center, Austria

See All Reviews

What You Need

A modern web browser, Node.JS installed in your computer, and the RxJS JavaScript library.

Contents & Extracts

  • Preface
    • New World, Old Methods
    • What Is Reactive Programming?
    • What is RxJS?
    • Who This Book Is For
    • What’s In This Book
    • Running the Code Examples
    • Resources
    • Download Sample Code
  • The Reactive Way excerpt
    • What’s Reactive?
    • Of Observers and Iterators
    • The Rx Pattern and the Observable
    • Creating Observables
    • Wrapping Up
  • Deep in the Sequence
    • Visualizing Observables
    • Basic Sequence Operators
    • Canceling Sequences
    • Handling Errors
    • Making a Real-Time Earthquake Visualizer
    • Ideas for Improvements
    • Operator Rundown
    • Wrapping Up
  • Building Concurrent Programs
    • Purity and the Observable Pipeline
    • RxJS’s Subject Class excerpt
    • Spaceship Reactive!
    • Ideas for Improvements
    • Wrapping Up
  • Building a Complete Web Application
    • Building a Real-Time Earthquake Dashboard
    • Adding a List of Earthquakes
    • Getting Real-Time Updates from Twitter
    • Ideas for Improvements
    • Wrapping Up
  • Bending Time with Schedulers excerpt
    • Using Schedulers
    • Scheduling for Animations
    • Testing with Schedulers
    • Wrapping Up
  • Reactive Web Applications with Cycle.js
    • Cycle.js
    • Installing Cycle.js
    • Our Project: Wikipedia Search
    • Model-View-Intent
    • Creating Reusable Widgets
    • Ideas for Improvements
    • Wrapping Up


Sergi Mansilla is a professional developer with more than 15 years of experience who believes that software can change the world for the better. He’s currently working on Firefox OS, a new mobile OS based on the web. Sergi speaks at conferences all around the world, and lives in Amsterdam with his lovely wife.