首页 > 解决方案 > 如何获取 Flux.fromIterable 的索引

问题描述

我搜索了很长时间,但在这个主题中找不到任何可以在这种情况下帮助我的东西。我有以下代码:

return Flux.fromIterable(listOfObjects)
            .parallel()
            .runOn(Schedulers.parallel())
            .flatMap(this::getDataResponse)
            .flatMap(dataResponse-> this.afterCheckVariables(dataResponse, {currentElementOfTheList}))
        .sequential();

我想根据列表的当前元素在每个 dataResponse 中设置一个变量。可能吗?如果我能得到列表的索引或当前元素,那就太好了。

提前谢谢了

标签: javamonofluxiterableflatmap

解决方案


我可以找到解决方案,如果您有更好的方法,请告诉我。

解决方案如下:

我需要创建其他方法来返回列表的当前元素。所以我的代码变成了这样:

return Flux.fromIterable(listOfObjects)
            .parallel()
            .runOn(Schedulers.parallel())
            .flatMap(this::getReq)
            .flatMap(requestObj -> this.getDataResponse(requestObj)
            .flatMap(dataResponse-> this.afterCheckVariables(dataResponse,requestObj)))
        .sequential();

getReq 方法如下所示:

private Mono<ObjectOfList> getReq (ObjectOfList request){
        return Mono.just(request);
    }

推荐阅读