完成时将Multi转换为Uni的最合适方法是什么?到目前为止,我有以下工作解决方案:
multi.collect().asList().replaceWithVoid()
当我只对完成后收到一个项目感兴趣时,收集项目并替换列表感觉有点奇怪。我是否错过了更好的解决方案?
您可以简单地跳过所有Multi
发出的项目,然后切换到Uni
:
multi.skip()
.where(ignored -> true)
.toUni()
//.replaceWithVoid()
根据您的建议选择使用Uni#replaceWithVoid
来切换Uni
形式类型。
的区别在于避免使用Multi#collect
操作符将元素临时存储在内存中。现在您只需忽略项目并在完成后切换到下游。