【发布时间】:2013-05-29 19:08:40
【问题描述】:
这是一个理论问题。我有一个服务可以调用来完成一项工作,但该服务可能无法完成所有工作,因此我需要调用第二个服务来完成它。
我想知道是否有一种方法可以在没有 Await.result 地图函数中的结果的情况下执行类似的操作:
val myFirstFuture = asyncRequestA()
myFirstFuture.map(result => {
result match {
case isWhatIExpected => result
case isNot => Await.result(asyncRequestB(), someDuration)
}
})
我想将asyncRequestB() 给出的未来“合并”到myFirstFuture 中,而不使用Await 函数来获取结果。
有什么想法吗?
【问题讨论】:
标签: scala asynchronous jvm scala-2.10