scala期货的异常处理
我对Scala期货有一个问题。我有一个函数,它有两个参数:x:Future[Int]和y:Future[Int] 函数应返回一个future,该future以以下方式完成:scala期货的异常处理,scala,future,Scala,Future,我对Scala期货有一个问题。我有一个函数,它有两个参数:x:Future[Int]和y:Future[Int] 函数应返回一个future,该future以以下方式完成: 值x如果x成功完成 如果x失败且y成功完成,则y的值 如果x失败且y失败,则y失败的异常 我似乎不知道该怎么做 该守则目前: def myFunction(x: Future[Int], y: Future[Int]): Future[Int] = { x.onSuccess { case result =&
- 值x如果x成功完成
- 如果x失败且y成功完成,则y的值
- 如果x失败且y失败,则y失败的异常
def myFunction(x: Future[Int], y: Future[Int]): Future[Int] = {
x.onSuccess {
case result => return Future(result)
}
x.onFailure {
case e =>
y.onSuccess {
case res => return Future(res)
}
y.onFailure {
case f => throw f
}
}
}
简单地说:
x.recoverWith { case _ => y }
简单地说:
x.recoverWith { case _ => y }
谢谢,这正是我需要的!谢谢,这正是我需要的!