モノ

3

ドキュメントあたりとおりモノ

Flux<String> fl = Flux.just("a", "b", "c"); 

モノが0のストリームである:

フラックス0..N要素を発することができるストリームであります..1要素:

Mono<String> mn = Mono.just("hello"); 

両方とも、リアクティブストリーム内のPublisherインターフェイスの実装です。

ほとんどの場合、Fluxだけを使用することはできません.0.1を出すことができるため、Monoの条件を満たすことができますか?

Monoのみを使用し、Fluxが操作を処理できない場合は、いくつかの特定の条件がありますか? お勧めします。ドキュメントhere

から

答えて

4

多くの場合、計算やサービスの呼び出しが行われており、複数の結果が含まれる可能性のあるコレクションではなく、1つの結果(またはゼロまたは1つの結果)が必要です。そのような場合は、Monoを持つ方が便利です。

「通常の」Javaと比較してください。ゼロまたは1つの結果を返すメソッドの戻り値の型としてListを使用しません。代わりにOptionalを使用すると、複数の結果が予想されないことがすぐに分かります。

0

この区別は、非同期処理の大まかなカーディナリティを示し、型にセマンティック情報のビットを搬送します。たとえば、HTTPリクエストでは1つのレスポンスしか生成されないため、カウント操作にはあまり意味がありません。このようなHTTP呼び出しの結果をMonoとして表現することは、フラックスとして表現するよりも意味があります。なぜなら、ゼロ項目または1項目のコンテキストに関連する演算子しか提供しないからです。