gpt4 book ai didi

scala - 创作 future 与尝试

转载 作者:行者123 更新时间:2023-12-03 04:52:50 27 4
gpt4 key购买 nike

这是我之前的 question 的后续内容

假设我有一个函数,它返回一个 Future[String] 和一个函数 String => Try[Int]:

val slowAsync : Int => Future[String] = ...
val mayFail : String => Try[Int] = ...

假设我将它们组合成一个新函数Int => Future[Int]:

val composed : Int => Future[Int] = {x => 
for (str <- slowAsync(x); y <- Future(mayFail(s).get)) yield y
}

composed 可能可以工作,但我不喜欢这个 Future(mayFail(s).get)。你会如何解决它?

最佳答案

您可以使用 fromTry:

val x = slowAsync(1) flatMap (s => Future.fromTry(mayFail(s)))

关于scala - 创作 future 与尝试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31366249/

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