gpt4 book ai didi

scala - For-Comprehension Future 有异常(exception)

转载 作者:行者123 更新时间:2023-12-02 04:52:22 25 4
gpt4 key购买 nike

我有两个 Future,我想恢复其中一个的异常:

def getId(): Future[Either[Exception, Id]] = ...
def result(): Future[Result] = ...

我尝试过这样的事情:

for {
id <- getId()
r <- result(id, param, param)
} yield {
r
} recover {
case e => println(e.getMessage)
}

有人可以帮助我吗?

非常感谢。

最佳答案

您应该在正在处理的 val 处而不是在 for 处恢复。如果抛出异常,下面的代码将 id 和 r 设置为 0。

for {
id = getId()
id.recover {
case e => {
println(e.getMessage)
0
}
}
r = result(id, param, param)
} yield r.recover {
case e => {
println(e.getMessage)
0
}
}

关于scala - For-Comprehension Future 有异常(exception),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26721505/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com