Reactor3 Map與FlatMap的區(qū)別示例詳解
更新時間:2023年08月23日 17:31:59 作者:Weison Wei
這篇文章主要為大家介紹了Reactor3 Map與FlatMap的區(qū)別示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
Publisher Map 與 FlatMap的區(qū)別
環(huán)境信息:
JDK: Java 8
Reactor: Reactor 3.2.10.RELEASE
Gradle依賴:
compile group: 'io.projectreactor', name: 'reactor-core', version: '3.2.10.RELEASE' compile 'ch.qos.logback:logback-classic:1.2.1' testCompile 'io.projectreactor.addons:reactor-test' testCompile 'junit:junit:4.12'
這幾個代碼的效果都一樣,打印出11;
Mono.just("1").map(a -> a + "1").subscribe(System.out::println);
Mono.just("1").flatMap(a -> Mono.just(a + "1")).subscribe(System.out::println);
Flux.just("1").map(a -> a + "1").subscribe(System.out::println);
Flux.just("1").flatMap(a -> Flux.just(a + "1")).subscribe(System.out::println);1 Mono
1.1 map()
Mono<String> monoMap = Mono.just("1").map(a -> a + "1");
monoMap.subscribe(System.out::println);同步的轉換發(fā)布的元素并返回。
1.2 flatMap()
Flux<String> monoFlatMap = Mono.just("1").flatMap(a -> Mono.just(a + "1"));
monoFlatMap.subscribe(System.out::println);異步的轉換發(fā)布的元素并返回一個新的Mono,被轉換的元素和新Mono是動態(tài)綁定的。
2 Flux
2.1 map()
Mono<String> fluxMap = Flux.just("1").map(a -> a + "1");
fluxMap.subscribe(System.out::println);同步的轉換發(fā)布的元素并返回,轉換完后被轉換元素被丟棄。
2.2 flatMap()
Flux<String> fluxFlatMap = Flux.just("1").flatMap(a -> Flux.just(a + "1"));
fluxFlatMap.subscribe(System.out::println);異步的轉換發(fā)布的元素并他們展開合并到一個新的Flux并返回。
以上就是Reactor3 Map與FlatMap的區(qū)別示例詳解的詳細內容,更多關于Reactor3 Map FlatMap區(qū)別的資料請關注腳本之家其它相關文章!
相關文章
Windows中使用Java生成Excel文件并插入圖片的方法
這篇文章主要介紹了Windows中使用Java生成Excel文件并插入圖片的方法,其中向Excel中插入圖片文中通過使用Apache POI來實現(xiàn),需要的朋友可以參考下2016-02-02

