繁体   English   中英

Scala,恢复嵌套的期货?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM