The IntroToRx book incorrectly describes Observable.Start as offering "lazy" evaluation. In fact, it invariably schedules the work for immediate execution (or as near to immediate as your chosen scheduler can manage). The distinguishing feature of Start is that it doesn't matter if it takes a long time for this work to complete. (So unlike Return, where you need to have the value in hand before you can get it wrapped in an IObservable<T>, Start returns an IObservable<T> immediately. The callback can take as long as it likes, and the value will become available to observers once the callback completes.)
This change updates the relevant text to describe Starts behaviour correctly.
Fixes #2162
The IntroToRx book incorrectly describes
Observable.Start
as offering "lazy" evaluation. In fact, it invariably schedules the work for immediate execution (or as near to immediate as your chosen scheduler can manage). The distinguishing feature ofStart
is that it doesn't matter if it takes a long time for this work to complete. (So unlikeReturn
, where you need to have the value in hand before you can get it wrapped in anIObservable<T>
,Start
returns anIObservable<T>
immediately. The callback can take as long as it likes, and the value will become available to observers once the callback completes.)This change updates the relevant text to describe
Start
s behaviour correctly.