FSharp.Control.AsyncRx is a library for asynchronous and reactive programming, and is an implementation of Async Observables (ReactiveX) for F# and Fable. FSharp.Control.AsyncRx makes it easy to compose and combine streams of asynchronous event based data such as timers, mouse-moves, keyboard input, web requests and enables you to do operations such as:

  • Filter
  • Transform
  • Aggregate
  • Combine
  • Time-shift

FSharp.Control.AsyncRx was designed spesifically for targeting Fable which means that the code may be transpiled to JavaScript, and thus the same F# code may be used both client and server side for full stack software development.

See Elmish Streams for use of FSharp.Control.AsyncRx with Elmish and the model view update (MVU) style architecture.