Flux.concatMap返回结果前先进入下一个事件

问题描述

我有一个Flux的测试用例对象,对于每个对象,我需要调用一个外部服务,一旦收到服务响应,在下一个操作中,它将检查响应是否有效。但是对于一些对象来说,是随机的,在从外部服务接收到响应之前,Flux正在释放信号。

Flux.fromIterable(masterTestCasesList).concatMap(tc -> iSandBoxRuleEngineClient.getRoutePlanResponseForTestCase(tc))
        .map(respObj -> {//checks if the response is matched.
            return result;}).collectList();
                                    
                                    

预期结果: 1)Ref ID:10002 TestCase:TESTCASE_1。 2)在致电参考编号服务之前:10002 TestCase:TESTCASE_1。 3)点击后:生成响应;参考号:10002 TestCase:TESTCASE_1。 4)参考编号:10002 TestCase:TESTCASE_1与true匹配。

1)参考编号:10002 TestCase:TESTCASE_2。 2)在致电参考编号服务之前:10002 TestCase:TESTCASE_2。 3)点击后:生成响应;参考号:10002 TestCase:TESTCASE_2。 4)参考ID:10002 TestCase:TESTCASE_2与true匹配。

1)参考编号:10002 TestCase:TESTCASE_3。 2)在调用引用ID的服务之前:10002 TestCase:TESTCASE_3。 3)点击后:生成响应;参考号:10002 TestCase:TESTCASE_3。 4)参考编号:10002 TestCase:TESTCASE_3与true匹配。

生成输出

1)参考编号:10002 TestCase:TESTCASE_1。 2)在致电参考编号服务之前:10002 TestCase:TESTCASE_1。 3)点击后:生成响应;参考号:10002 TestCase:TESTCASE_1。 4)参考编号:10002 TestCase:TESTCASE_1与true匹配。

1)参考编号:10002 TestCase:TESTCASE_2。 2)在致电参考编号服务之前:10002 TestCase:TESTCASE_2。

1)参考ID:10002 TestCase:TESTCASE_3。 2)在调用引用ID的服务之前:10002 TestCase:TESTCASE_3。 3)点击后:生成响应;参考号:10002 TestCase:TESTCASE_3。 4)参考编号:10002 TestCase:TESTCASE_3与true匹配。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)