[英]Scala, recover nested Futures?
我在Scala中有一些嵌套的Futures。 我想知道-我可以使用一次recover
来捕获所有可扔物品吗?还是每个Future都有自己的回收? 假设method1和method2都产生了Future[Option[A]]
,
method1.flatMap {
case Some(object1) =>
method2(object1).map {
case Some(object2) => ...
case None => ...
}.recover { case t => .... } <--- DO I NEED THIS?
case None => ....
}.recover { case t => ... } <--- OR THIS ALONE IS ENOUGH?
只要您像示例中那样平整所有嵌套的Futures
,就不会在哪个级别引发异常。 如果在您的嵌套结构中的某个时刻抛出了异常,那么您将不再继续下降。 由于变平,抛出的异常将被提升到顶层。 从那里,您可以使用recover
方法处理异常。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.