flatMapSequentialDelayError 或...的误导性项目反应器文档图像?
misleading project reactor documentation image for flatMapSequentialDelayError, or ...?
我在图片上看到过很多次了,就是完全不明白。这是 javadoc:
有问题的图片(抱歉,无法直接显示)
谁能解释一下,为什么会有1个红色方框?为什么它的内部 Flux 这么快就完成了?如果仍然发出紫色,基于什么(在原始通量中)?我错过了什么?
据我所知,图像是正确的。
What am I missing?
您似乎假设 flatMapSequential()
调用以某种方式影响通量何时结束,或者何时发出它们的元素 - 红色通量仅在一个元素后结束,其他元素持续两个。事实并非如此 - 这只是一个示例,说明当您调用 flatMapSequential()
恰好以这种方式运行的通量时会发生什么。
如果有帮助,请想象它们是 3 个通量 return 从查询中获取数据库记录。绿色通量首先被订阅,然后它 return 是一个结果(但没有完成,因为它还有另一个记录到 return 仍然。)然后红色通量被订阅,returns 一个结果并完成(因为只有一个记录匹配查询。)然后订阅紫色通量,returns 一个结果,然后绿色和紫色通量 return 另一个结果,然后两者完成。
在这种情况下,如果红色通量 没有 完成,那么紫色通量将不会被订阅,直到至少绿色或红色通量之一完成(因为在这种情况下最大并发是 2。)因此,为示例选择以这种方式运行的通量可以使图像简洁,并直观地展示“顺序”和“最大并发”元素。
我在图片上看到过很多次了,就是完全不明白。这是 javadoc:
有问题的图片(抱歉,无法直接显示)
谁能解释一下,为什么会有1个红色方框?为什么它的内部 Flux 这么快就完成了?如果仍然发出紫色,基于什么(在原始通量中)?我错过了什么?
据我所知,图像是正确的。
What am I missing?
您似乎假设 flatMapSequential()
调用以某种方式影响通量何时结束,或者何时发出它们的元素 - 红色通量仅在一个元素后结束,其他元素持续两个。事实并非如此 - 这只是一个示例,说明当您调用 flatMapSequential()
恰好以这种方式运行的通量时会发生什么。
如果有帮助,请想象它们是 3 个通量 return 从查询中获取数据库记录。绿色通量首先被订阅,然后它 return 是一个结果(但没有完成,因为它还有另一个记录到 return 仍然。)然后红色通量被订阅,returns 一个结果并完成(因为只有一个记录匹配查询。)然后订阅紫色通量,returns 一个结果,然后绿色和紫色通量 return 另一个结果,然后两者完成。
在这种情况下,如果红色通量 没有 完成,那么紫色通量将不会被订阅,直到至少绿色或红色通量之一完成(因为在这种情况下最大并发是 2。)因此,为示例选择以这种方式运行的通量可以使图像简洁,并直观地展示“顺序”和“最大并发”元素。