【发布时间】:2021-06-27 04:50:21
【问题描述】:
如何并行运行返回不同数据类型的两个不同函数?
这里有fruitFutures 和primeFutures。如何使用 Await.result 函数?
val fruits = List("apple", "orange", "mango", "banana")
val primeNums = List(2,3,5,7,11)
def executeFruit(fruit: String): Try[String] = {
Try {
s"executed $fruit"
}
}
def executePrime(prime: Int): Try[Int] = {
Try {
prime * 2
}
}
val fruitFutures: List[Future[Try[String]]] = for {
fruit <- fruits
} yield {
Future {
executeFruit(fruit)
}
}
val primeFutures: List[Future[Try[Int]]] = for {
prime <- primeNums
} yield {
Future {
executePrime(prime)
}
}
val futureResults = Await.result(Future.sequence(???), Duration.Inf)
【问题讨论】:
-
future.sequence(fruitFuture ++ primeFuture).map( //做你的事)
-
谢谢,但它给了我
Product with Serializable,所以不知道如何使用它。 -
Future[Try[..]]说不通