O'Reilly logo

Mastering F# by Suhaib Fahad, Alfonso García-Caro Núñez

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Reactive programming with async workflows

We will now generalize the async model so that it can be used not only in async workflows, but also with IObservable streams to achieve reactiveness. The IObservable interface is used to manipulate events as if they were sequences (or streams). The main difference with IEnumerable is that the latter is pull-based (our code decides when to pull the next item from the sequence) while the former is push-based; we do not know when the next event will happen so we can only react to new inputs in the stream.

Note

The FSharp.Core library also provides functions in the Event module to manipulate events directly, as if they were streams, without having to convert them to IObservable.

This means that we need constructs ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required