这是一个理论问题。我有一个服务可以调用来完成工作,但该服务可能无法完成所有工作,因此我需要调用第二个服务来完成它。
Await.result
我想知道是否有一种方法可以在 map 函数中没有结果的情况下做类似的事情:
val myFirstFuture = asyncRequestA()
myFirstFuture.map(result => {
result match {
case isWhatIExpected => result
case isNot => Await.result(asyncRequestB(), someDuration)
}
})
我想在不使用 Await 函数来获得结果的情况下“合并”由asyncRequestB()
into给出的未来。myFirstFuture
有任何想法吗?