当前位置: 首页 > 知识库问答 >
问题:

WebFlux:如何使用takeUntilOther()方法?

施华奥
2023-03-14
java prettyprint-override">     Mono.just(10)
                .subscribe();

        Flux.range(1, 5)
                .takeUntilOther(Mono.just(10))
                .subscribe(System.out::println);

我不明白为什么。

共有1个答案

益智明
2023-03-14

基里尔,

我建议你参考项目Reactor文档的适当部分。

TakeUntiLother(Publisher other)从中传递值,直到给定的Publisher发出。

Flux.range(1, 5) // produces elements from 1 to 5
        .delayElements(Duration.ofSeconds(1)) // delays emission of each element from above for 1 second
        .takeUntilOther(Mono
                .just(10) // hot publisher. emits one element

                // delays '10' for 3 seconds. meaning that it will only 
                // appears in the original Flux in 3 seconds
                .delayElement(Duration.ofSeconds(3)) 
        )
        .subscribe(System.out::print);
 类似资料:
  • 在Spring Web中,我使用@PreAuthorize with SpEl来检查当前用户的权限。类似这样的东西: 在RestController中: 现在我尝试使用WebFlux。写入了reactiveCheckPermission。 但是它抛出IllegalStateException("block()/block First()/block Final()是阻塞的,线程并行不支持 将boo

  • 本文向大家介绍Spring Boot webflux使用方法解析,包括了Spring Boot webflux使用方法解析的使用技巧和注意事项,需要的朋友参考一下 1、同步阻塞IO模型 当容器中只有三个线程接收请求,当有四个请求过来的时候,就会Block住,得不到及时的响应 2、异步非阻塞式IO模型 Spring Boot webflux是异步非阻塞式IO模型,容器线程将耗时的任务(IO密集型任务

  • 这里基于springboot2 + WebFlux,相关教程见:springboot-webflux 需要easyopen1.7.0及以上版本 在pom.xml中添加WebFlux依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-webflux</a

  • 所以基本上,我希望数组中的所有对象都是单个流的一部分,因为这就是我将要使用的客户端应用程序的设计方式。目前总共只有3个。所以在每个流中都将包含一个数组的所有对象。我知道这不是WebFlux的最佳用途。如果可以做到,这怎么能做到呢?

  • 我希望使用spring WebFlux以反应的方式流式传输一个文件。 我的endpoint应该是什么样子更具体的对象的类型是什么?

  • 我正在使用Spring5、Netty和Spring webflux开发和API网关。有时,我希望网关停止请求,但我也希望读取请求的主体以记录它,例如,并向客户机返回一个错误。 我尝试在WebFilter中通过订阅body来实现这一点。 当我这样做的时候,它在身体的内容很少的时候起作用。但当我有一个大的身体时,只有第一个元素的通量被读取,所以我不能有整个身体。知道怎么做吗?