java 顺序Uni执行

ycl3bljg  于 2023-01-19  发布在  Java
关注(0)|答案(1)|浏览(121)

我有一个元素列表
列出元素。
对于这些元素中的每一个,我想调用一个异步方法,返回Uni

private Uni<String> asyncMetthod(Element element) {
   ....
}

问题是我想按顺序调用这些方法:
我用列表中的第一个元素调用方法,收到结果后我用第二个元素调用相同的方法,以此类推...
如果一个失败了,我仍然想继续
我怀疑我需要使用一个带有Multi.createFrom().iterable的Multi,但是我不知道下一步该怎么做。

k75qkfdt

k75qkfdt1#

类似这样的方法应该可以奏效:

var multi = Multi.createFrom().iterable(elements)
   .onItem().transformToUniAndConcatenate(element -> {
        return asyncMethod(element)
           .onFailure().continueWith(fallback_when_failing);
    });

相关问题