我正在链接一些电话,因此我需要在下一个电话中使用1 Future的结果。
在下面的示例中,最能使用res1
的方式是什么?
call1()
.compose(res1 -> call2(res1))
.compose(res2 -> call3(res2, res1)) // cannot user res1 here!!
.setHandler(res -> {
/// omitted for brevity
});
我可以让call2
返回包含res1
和res2
的地图,但是我想知道是否还有另一种方法。
答案 0 :(得分:1)
在这种情况下,您应该在可访问compose
的lambda中call2
res1
的结果:
call1().compose(res1 -> {
return call2(res1).compose(res2 -> call3(res2, res1));
}).setHandler(res -> {
// omitted for brevity
});