【发布时间】:2014-05-27 10:39:31
【问题描述】:
我有一个 Future[T],我想将结果映射到成功和失败。
比如
val future = ... // Future[T]
val mapped = future.mapAll {
case Success(a) => "OK"
case Failure(e) => "KO"
}
如果我使用map 或flatmap,它只会映射成功的未来。如果我使用recover,它只会映射失败的期货。 onComplete 执行回调但不返回修改后的未来。 Transform 可以工作,但需要 2 个函数而不是部分函数,所以有点丑。
我知道我可以创建一个新的 Promise,并使用 onComplete 或 onSuccess/onFailure 完成它,但我希望我缺少一些东西可以让我用单PF。
【问题讨论】: