【发布时间】:2018-10-09 11:57:34
【问题描述】:
我是响应式编程范式的新手。我有一个简单的问题。
我有一个元素列表,对于每个元素我都必须进行 REST 调用。
我必须根据这些调用的响应建立一个新列表。
问题是我的函数在循环结束之前返回值... 不知道怎么办?
这是我的一段代码:
TaeaUpdateRequestOutput putTaea(final String dossierId, final TaeaUpdateRequestInput input, final String token) {
final TaeaUpdateRequestOutput output = new TaeaUpdateRequestOutput();
input.getAdhesions().stream().forEach(adhesion -> {
final Mono<TaeaFromMyMB> taeaResponse = doRest(adhesion, TaeaFromMyMB.class, url, token, dossierId);
taeaResponse.subscribe(myMBTaea -> {
final Taea taea = myMBTaea.fromTaeaFromMyMb(adhesion);
output.getListeTaea().add(taea);
});
});
//output is always empty due to async programming. How to wait the the end of the last iteration's subscription?
return output;
}
【问题讨论】: