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

两种方法的适当反应算子

敖子安
2023-03-14

我有两种相互依赖的方法。

Flux<DataBuffer> flux = service1.get();
Mono<String> s = service2.store(flux);

service1。get()返回Flux

service2.store通量

Service2是被动的外部客户端,它将数据存储到文件并返回引用。

我需要使service2调用依赖于service1,但我想保留参数流量,并只调用每个方法一次。目的是调用service2。存储以防万一服务成功响应1。获取

例如。

public Mono<String> mainMethod() {
    return service1.get()
      .unknownOperator(flux -> service2.store(flux))
      .doOnError(e -> log.error(e.getMessage));
}

你能告诉我正确的操作员而不是未知的操作员吗。

错误的处理方式如下:

  1. service1中出现错误。get应该被记录并从mainMethod返回<代码>服务2。无法调用存储
  2. service2中出现错误。应记录存储,并从mainMethod返回

共有1个答案

黄德明
2023-03-14

在service2.store?中使用Flux作为参数是不是也很奇怪?我猜你只是想执行service1.get(). CollectList(),所以你有一个service1结果的Mono。之后你可以做一个平面地图?例如。

service1.get()
    .collectList()
    .flatmap(service2::store) // .flatmap(list -> service2.store(list)
    .doOnError(e -> log.error(e.getMessage))
 类似资料:
  • 有一个无向图G=(V,E),我如何给每条边指定一个方向,使每个顶点在O(V E)时间内的度数最多为一?应该有两个条件: 情况1。G没有循环,我应该使用什么?BFS或DFS,以及如何? 情况2。G最多有一个循环如果有循环,我们如何选择指向同一顶点的两条边的方向?

  • 本文向大家介绍Android清除应用缓存的两种方法,包括了Android清除应用缓存的两种方法的使用技巧和注意事项,需要的朋友参考一下 第一种 使用ActivityManager中的clearApplicationUserData方法,代码如下: 这种方式的问题就是不知清除cache,连带应用的data也删除了。如下图所示: 第二种 使用PackageManager中的deleteApplicat

  • 本文向大家介绍thinkphp的钩子的两种配置和两种调用方法,包括了thinkphp的钩子的两种配置和两种调用方法的使用技巧和注意事项,需要的朋友参考一下 thinkphp的钩子行为类是一个比较难以理解的问题,网上有很多写thinkphp钩子类的文章,我也是根据网上的文章来设置thinkphp的钩子行为的,但根据这些网上的文章,我在设置的过程中,尝试了十几次都没有成功,不过,我还是没有放弃,最后还

  • 我想尝试将以下两种方法合二为一: 第一个方法构造一个映射,其中键是<code>String</code>,值是<code<ArrayList</code>。 我想尝试添加第二条信息,即简单的错误消息(方法2)。HashMap不够复杂,无法保存这些信息,但我喜欢它只接受唯一值的方式,而且很容易迭代和传递。 任何建议非常感谢:)

  • 本文向大家介绍golang两种调用rpc的方法,包括了golang两种调用rpc的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了golang两种调用rpc的方法。分享给大家供大家参考,具体如下: golang的rpc有两种方法进行调用,一种是rpc例子中给的: 另一种是使用NewServer 这种是当rpc已经注册的时候就要使用了另外一种了。即一个server只能在DefaultRP

  • 在我的minimax算法中,当计算机上有一个玩家有两种方法赢得计算机时,他只会选择棋盘的第一个打开位置。以下面的例子为例。X可以在0,2和1,0位置获胜。 目前,我的算法将把o放置在位置0,1。我相信它会这样做,因为当minimax运行并将o放置在位置0,1时,因为这不是一个胜利,它再次调用minimax,这一次是为x。然后,x移动到位置0,2,为胜利。这个位置返回-10。如果计算机在位置0,2移