【发布时间】:2019-07-15 06:06:45
【问题描述】:
我使用WSClient 提出休息请求。每个请求都会返回一些Future。
因此我需要提出请求 1 并获取一些数据。然后我需要用请求 1 的结果中的数据发出请求 2。然后我需要用请求 2 的结果中的数据发出请求 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 用于Future,但它是反模式
我可以做得更漂亮吗?没有 N 个内部函数。
【问题讨论】:
标签: scala playframework future ws-client