Flux.just(1, 3, 6).flatMap(id -> {Mono<Integer> query = Mono.fromSupplier(() -> {System.out.println("查询数据...") ;return id * 10 ;}).delayElement(Duration.ofSeconds(2)) ;Mono<String> save = Mono.fromSupplier(() -> {System.out.println("保存数据...") ;return "success - " + id ;}) ;return Mono.when(query, save) ;}).doOnComplete(() -> {System.out.println("执行完成...") ;}).subscribe() ;
文章插图
图片
- filterWhen操作符
Flux.just(1,2,3,4,5,6).concatMap(item -> Mono.just(item).filterWhen(r -> {return Mono.just(r % 2 == 0) ;})).subscribe(System.out::println) ;
文章插图
总之,Reactor中的Flux和Mono是响应式编程的核心组件,它们提供了丰富的操作符和方法来处理异步数据流 。因此,对于使用WebFlux的开发者来说 , 掌握Reactor的使用是非常重要的 。
完毕?。。?
推荐阅读
- XXL-JOB真的要凉了?出现了一个王炸级别的分布式任务调度与计算框架?
- Astro,这个前端框架有点不一样!
- 10大Web开发框架有哪些?
- 无缝集成GORM与Go Web框架
- 前端框架的演进与未来展望
- 为什么RPC框架数十年还在造轮子?EJB骨灰都快找不到了!
- .NET Core下有热门的ORM框架使用方法
- .NET Core中一些优秀的项目和框架
- 常用消息队列框架与技术选型
- Jest:目前最广泛使用的前端 JavaScript 测试框架