Errata: May 17, 2019

Thank you for purchasing RxJS in Action. If you find errors not listed below, please note them in the book's errata thread.
Unless otherwise noted, all corrections were made to the print book during the book's second printing.

Page 25


Was missing an "s" and should read


Page 25

The line
.then( dataInfo => ajax(`<host3>/data/files/${dataInfo.files}`))
contained a logic problem because dataInfo is actually an array and doesn't possess a files field. It should instead read
.then(infos => => ajax(`<host3>/data/files/${dataInfo.files}`)))

Page 33

Delete the extra to:
...will be extremely brittle and hard to maintain and will cause to you to come in to work..."

Page 35

Delete the world learn:
As you’ll see learn later on, RxJS streams follow this same functor-like design.

Page 104

There is a missing "let" in the code block which should read:

for (let result of testData)

Page 116

There is a missing comma in the Observable declaration

      .filter(R.compose(R.not, R.isEmpty)), // << Missing comma

Page 131

Delete the word second:
Intuitively, because the second first stream is delayed by 3 seconds,...

Page 145

The word everything should be every:
Now, you’ll update the DOM strictly on a price change, which is much more optimal than doing it naïvely everything 2 seconds.

Page 158

Insert be:
You’ll be use the using() operator to construct an observable sequence...

Page 169

Insert => in the expression:
The subscriber receives the array and reduces it with a simple const add = (x, y) => x + y;...

Page 188

We stated that "...promises can be swallowed if no error handler is provided."

This is true only for older browser versions. Newer browsers and NodeJS will bubble up errors thrown from unhandled promises.

Page 223

In the text it says "after 10 p.m." but moment().hour() >= 20 is after 8 p.m.

Page 224

Both subscriptions are called sub. The first should be sub1 and the second should be sub2.