small medium large xlarge

The latest version of the book is P1.0, released over 2 years ago. If you've bought a PDF of the book and would like to update it to this version (for free), visit your home page.

By default this page displays the errata for the latest version of the book. If you have a previous version, select it here:

If you've found a new error, please submit it.

  • Typo
  • Tech. error
  • Suggestion
  • Maybe next edition
  • Not a problem
  • Reported in: P1.0 (26-Oct-17)
PDF page: XIII
Rx.Observable.of(1,2,3).subscribe(value => { console.log(value); }); should be Observable.of as we are only selectively importing Observable an...more...
  • Reported in: P1.0 (26-Mar-18)
Paper page: xv
Footnote number 9 on page xv of the Preface refers to URL of the previous edition. It should instead refer to the URL of the current edition.--Brian...more...
  • Reported in: P1.0 (17-Jun-18)
PDF page: 9
Page 9 begins with a usage example of the MultipleIterator class defined on the preceding page. However, the usage example states: const consumer =...more...
  • Reported in: P1.0 (27-Mar-18)
PDF page: 11
Paper page: 11
says this: Here’s how we create a basic Observer from scratch: const subscriber = Subscriber.create( value => console.log(`Next: ${value}`), error...more...
  • Reported in: P1.0 (18-Jun-18)
PDF page: 19
The marble diagram for map() shows the derived observable timeline ending with an X, signifying an error. This is puzzling given that the source ob...more...
  • Reported in: P1.0 (18-Jun-18)
PDF page: 19
The code comparison between "JS Arrays" and "Observables" accompanying the marble diagram for map() makes use of variable names "upper" and "name" alt...more...
  • Reported in: P1.0 (27-Mar-18)
PDF page: 62
The usage of distinctUntilChanged doesn't seem to work as described with a single argument to its callback. I found an example where two arguments are...more...