【问题标题】:How to correctly interact between Mono?Mono之间如何正确交互?
【发布时间】:2020-08-29 22:58:45
【问题描述】:

我是使用 Spring Webflux 的新手,我能够使用代码将两个 REST API 之间的结果连接起来:

return item.zipWith(children).flatMap(tuple -> {
        tuple.getT1().setItems(tuple.getT2());
        return Mono.just(tuple.getT1());
    });

Item 是 Mono,子项是 Mono。 我的问题是:

  • 这是一个好的实现还是阻塞式的实现,浪费了响应式编程的特性?
  • 有更好的方法吗?
  • 我找不到明确的非阻塞/阻塞操作列表,有人知道是否有吗?

【问题讨论】:

  • 这是非阻塞的。方法名称和/或 javadoc 清楚地表明运算符是否阻塞。他们并不多。示例:block... 方法、toIterabletoStream

标签: java netty spring-webflux project-reactor


【解决方案1】:

在我看来: 如果childrenList类型,最好做成Flux类型更好,可以使用Flux.fromIterable(List)方法将List转换为Flux

因此,children 可以接收元素并以非阻塞方式传递到item

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-12
    • 1970-01-01
    • 2022-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-03
    相关资源
    最近更新 更多