Skip to content

Commit 1e705ee

Browse files
authored
Update Background.md
1 parent edfc8c8 commit 1e705ee

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

docsSrc/Explanations/Background.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,11 @@ Where a standard list (IEnumerable) is pull-based, IObservable is a push-based (
1313
If Nullable is just "a list of 0 or 1", then async-await could be just an IObservable of 0 or 1.
1414

1515
There are many advantages of using reactive programming and Rx:
16-
  - Manual thread/lock -handling can be avoided
17-
  - No temporary class variables to capture the current or some previous state
18-
  - Testing is easy: generate lists like they would be event-lists.
19-
  - Testing the wrong async event order is easy.
20-
  - Also, testing long-duration workflows is easy as you can "fake" time passing
16+
17+
 - Manual thread/lock -handling can be avoided
18+
 - No temporary class variables to capture the current or some previous state
19+
 - Testing is easy: generate lists like they would be event-lists.
20+
 - Testing the wrong async event order is easy.
21+
 - Also, testing long-duration workflows is easy as you can "fake" time passing
2122

2223
It's always good to have alternatives, and if R3 is your alternative to Rx, then `FSharp.Control.R3` is your F# wrapper, like `FSharp.Control.Reactive` F#.

0 commit comments

Comments
 (0)