在reactor中实现异步副作用的最佳方法是什么?

qqrboqgw  于 2021-08-20  发布在  Java
关注(0)|答案(1)|浏览(357)

假设我有一个带有一些处理的主链,我想对每个处理的项目调用计费服务,然后返回处理结果,如下所示:

... ... ... // chain starts somewhere here
.flatMap(item -> processItem(item))
.doOnNext(item -> billingService.bill(item))
... ... ... // continue to work with processed items

i、 我想在链条上做一些副作用。如果 billingService.bill() 我们是同步的,但它会返回 Mono . 所以,我要做的是:

... ... ... // chain starts somewhere here
.flatMap(item -> processItem(item))
.flatMap(item -> billingService.bill(item).thenReturn(item))
... ... ... // continue to work with processed items

有更好的方法吗?我觉得有点尴尬。。。

b1payxdu

b1payxdu1#

你要找的是“先开火,然后忘记”的死刑。请看这里:用React堆点火,忘记一切

相关问题