java react 堆filterAndMap?

标签 java project-reactor

我想使用reactor实现:

for (val worker : getWorkers(request)) {
    val response = worker.tryDo(work);
    if (response != null) {
        return response;
    }
}
return null;

getWorkers可转返回Flux<Worker> , tryDo也可以返回单声道。

关键是我想要一个或零个响应,并且仅在当前 worker.tryDo 时才尝试下一个。失败。

我需要哪个运营商?我在 document 中找不到答案.

最佳答案

假设您可以重新设计 tryWork 以在没有工作时返回空的 Mono,而不是返回 null,则可以使用 getWorkers(request).flatMap(worker ->worker.tryDo(work), 1).next()

flatMap1 参数指示它仅考虑 worker 1 乘 1。 返回空单声道的工作人员实际上不会影响 flatMap 的输出。 Flux.next() 通过丢弃第一个元素之后的元素并取消源来转换为 Mono

关于java react 堆filterAndMap?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49082370/

相关文章:

java - react 器 Spring WebFlux : Explain please difference between last() and takeLast() methods

java - Wicket 口中的业务逻辑,其中有一些推荐的放置逻辑的位置(加载逻辑)

Java vector : how to quickly "symmetrify" a large chunk of a huge sparse matrix

java - HttpURLConnection Post 请求,使用来自 javax.rs.ws.Response 对象的响应进行响应

spring-webflux - Spring webflux 过滤器 : How to get the reactor context after the query execution?

java - Spring-Webflux:在没有 block() 的情况下从 Mono 中提取对象

带有 WebFlux 的 Spring Boot 总是在测试中抛出 403 状态

java - 如何在 Reactor 中使用 Context 和 flatMap()?

java - 迭代哈希在 Python 和 Java 中返回不同的值

java - 正则表达式:在Java中分割复杂列表(两列)