我有以下方法:
public Uni<JsonObject> getHMOStats(String outcode);
这将返回一个 Uni,该值需要在此方法创建的 OutcodeStats 对象中设置:
private Multi<OutcodeStats> getOutcodeStats() {
return Multi.createFrom().items(UkRegions.values())
.invoke(region -> log.infof("Fetching stats for region %s", region.name()))
.flatMap(region -> outcodeStatsService.getByRegion(apiKey, region.name()).toMulti())
.flatMap(regionStats -> Multi.createFrom().items(regionStats.getData().stream()))
.invoke(outcodeStats -> log.infof("Processing %s", outcodeStats.getOutcode()))
.map(this::setEffectiveDate)
.map(outcodeStats -> outcodeStats.setHmoStats(hmoService.getHMOStats(outcodeStats.getOutcode())))) <--- PSEUDO CODE
}
不幸的是,我不知道如何将两者结合起来以设置hmoStats
OutcodeStats 对象的属性。
一种解决方案可能是getHMOStats
不返回 Uni,但我不认为这是要走的路。
感谢您的关注。