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

如何跨Reactor调用返回通量序列传递属性

苗盛
2023-03-14

我正在将代码从命令式转移到反应式Java。

换句话说::我怎样才能从多个非阻塞调用序列中维护所需的值。

例如,假设我有Employee和Department mongo集合,并使用reactive mongo存储库从数据库中获取结果。

>

  • empid

    empname

    排空

    ManagerID

    Flux<Employee> empFlux =  empRepository.findEmployees("ACTIVE"); // (1)
    Flux<Department> deptFlux=  deptRepository.findDepartments(deptIds); // (2)
    
    
    webclient (empId, managerId, deptId, deptName); // (3)
    

    类似于上面的代码

    (1):获取在职员工列表

    (2):使用flatmap by id,我们可以获得合格部门的列表,但丢失了员工信息。

    我的问题是如何在非阻塞通量和单声道序列中保留这些信息。

  • 共有1个答案

    丰佐
    2023-03-14

    您还可以使用zipwith运算符,如下所示:

    Flux<WebClientReturn> infoFlux = empRepository.findEmployees("ACTIVE")
           .zipWith(deptRepository.findDepartments(deptIds), (employee, dept) -> {
              webclient (employee.getempId(), employee.getmanagerId(), dept.getdeptId(), dept.getdeptName());
            })
    

    我认为这是最具描述性和最易读的方法

     类似资料:
    • 本文向大家介绍如何通过AJAX调用传递JavaScript变量?,包括了如何通过AJAX调用传递JavaScript变量?的使用技巧和注意事项,需要的朋友参考一下 要通过AJAX调用传递JavaScript变量,请替换以下内容- 与- 示例 尝试以下代码以通过AJAX调用正确传递变量-

    • 问题内容: 我有以下代码: 我要解决的问题是这个,我要在 里面 使用。我该怎么做呢? PS:内部的函数在Go中称为回调吗? 问题答案: 您也可以尝试返回一个函数:

    • 问题内容: 我确定我的问题是基于对node.js中的异步编程缺乏了解,但这是可行的。 例如:我有一个要爬网的链接列表。当每个请求都返回时,我想知道它的URL。但是,大概是由于竞争条件造成的,每个请求都将URL返回设置为列表中的最后一个值。 预期产量: 实际输出: 所以我的问题是: 如何将url(按值)传递给回调函数?要么 链接HTTP请求以使其顺序运行的正确方法是什么?要么 我还缺少什么? PS:

    • 我正在尝试通过java运行jmeter。这些例子来自https://www.blazemeter.com/blog/5-ways-launch-jmeter-test-without-using-jmeter-gui 我上传了jmx文件,如示例中所述。 在jmx文件中,我有属性。指定的属性,如${uuuu属性(0个用户,0)} 我设法通过命令行使用-J参数上传了这个属性。 如何通过java指定参数

    • 我试图实现从阻塞队列创建的Reactor通量,但不确定哪个操作符最适合我的用例? 我正在创建一个流式RESTendpoint,其中的响应是流量,需要不断从阻塞队列中发出消息,作为获取REST调用的响应。 我已经尝试过论坛和留档,只能找到从可迭代集合或响应数据源发起的Flux,但没有任何BlockingQueue的示例。

    • 问题内容: Python文档似乎尚不清楚参数是通过引用还是通过值传递,并且以下代码会产生未更改的值“原始” 我可以做些什么来通过实际引用传递变量吗? 问题答案: 传入的参数实际上是对对象的引用(但引用是通过值传递的) 有些数据类型是可变的,但有些则不是 所以: 如果将可变对象传递给方法,则该方法将获得对该对象的引用,并且可以对其进行突变,但是如果您将该引用重新绑定到该方法中,则外部作用域对此一无所