Errata

Reactive Programming with RxJava

Errata for Reactive Programming with RxJava

Submit your own errata for this product.

The errata list is a list of errors and their corrections that were found after the product was released.

The following errata were submitted by our customers and have not yet been approved or disproved by the author or editor. They solely represent the opinion of the customer.

Color Key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update

Version Location Description Submitted by Date submitted
Cartesian product example in "Pairwise composing with zip() and zipWith()"

Quote:
---------------------------
Observable<String> squares = files
.flatMap(file -> ranks.map(rank -> file + rank));
The squares Observable will emit exactly 64 events: for 1 it generates a1, a2… a8, followed by b1, b2… to finally reach h7 and h8.
---------------------------

Since we just learned that flatMap() doesn't preserve the order, wouldn't it be better to use concatMap() instead?

The suggested order a1..a8, b1..b8 etc is technically not guaranteed by flatMap(). I guess it works here because there are no schedulers involved.

concatMap() seems more robust in this case, since it would guarantee the explained order, no matter what schedulers are used.

Dumitru Postoronca  Jun 04, 2016 
PDF Page 16
2nd

Wrong link of “Mechanical Sympathy” forum

Alex  Jun 16, 2016 
Printed Page 62
Figure, bottom center note

"vertial" should be "vertical" in "If some reason the Observable terminates abnormally, with an error, the vertial line is replaced by an X."

Carmelo Scandaliato  Mar 25, 2024 
PDF Page 109
1st paragraph

Instead of: "After all that is what map() is doing
here: transforming String to Integer"
I think the correct sentence would be: "After all that is what map() is doing
here: transforming Integer to String"

Anonymous  Sep 12, 2016 
PDF Page 147
3rd paragraph

Should be "ReplaySubject" instead of "ReplySubject"

Serban Balamaci  Jul 20, 2016 
ePub Page 148
1st

As long as connect() ) is not called, these Subscribers are put on hold, they never directly subscribe to upstream Observable.

Note there is an extra closing braces after connect().

Praveer Gupta  Aug 26, 2016