dotnet / dotnet/reactive

Project Reactor API - Flux and Mono (~spring webflux enabler for aspnet)

Open
#1,844 1 comment 0 reactions 0 assignees View on GitHub
[area] Rx
Dominant language
C#
Stars
7.2k
Forks
798
PR merge metrics
No merged PRs in 30d

Description

### Description

maybe could be interesting for Java/Spring webflux developers which desire to migrate to .NET/aspnet, to have an API in C#/F# similar to the one provided by project reactor and spring webflux, meaning Flux and Mono and potentially an integration with aspnetcore making it possible to define "reactive controllers" or reactive middleware endpoints and "reactive infrastructure" (http clients, db etc..)

https://www.infoq.com/articles/reactor-by-example/

https://www.baeldung.com/spring-webflux

maybe this could become useful ideally in some integration scenario with Giraffe or Aspnet in background, providing devs with a Java reactive-like experience?

### Reactor types: `Flux` and `Mono`

[Flux](https://projectreactor.io/core/docs/api/reactor/core/publisher/Flux.html) and [Mono](https://projectreactor.io/core/docs/api/reactor/core/publisher/Mono.html).

A Flux is the equivalent of an RxJava Observable, capable of emitting 0 or more items, and then optionally either completing or erroring.

A Mono on the other hand can emit at most once. It corresponds to both
[Single](http://reactivex.io/documentation/single.html) and
[Maybe](http://reactivex.io/RxJava/2.x/javadoc/io/reactivex/Maybe.html) types on the RxJava side. Thus an asynchronous task that just wants to signal completion can use a Mono.

So i guess a Mono in F# would be an Option where IObservable is a single one
Cheers!

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.