我WSClient
用来提出休息请求。每个请求返回一些Future
.
结果我需要提出请求1并获取一些数据。然后我需要使用请求1结果中的数据发出请求2。然后我需要使用request 2结果中的数据发出 request 3。等等
在我的代码中它看起来像
def wsChain(data: Data): Future[NewData] = {
getOne(data).flatMap(data2 => {
getTwo(data2).flatMap(data3 => {
getThree(data3).flatMap(data4 => {
getFour(data4).map(result => foo(result))
})
})
})
}
这是非常原始的示例,没有对响应和请求进行任何修改。但我认为即使它很难阅读。我现在大约Await
for Future
,但它是反模式
可能我可以做得更漂亮吗?没有N个内部函数。