【发布时间】:2019-10-06 16:21:48
【问题描述】:
我正在尝试使用 for 表达式遍历列表,然后使用返回 Future 的实用程序对每个元素进行转换。长话短说,它无法编译,我想了解原因。我读了this question,这很相似,而且很有帮助,但我想做的甚至更简单,这对于为什么它不起作用更加令人困惑。我正在尝试做类似的事情:
import scala.concurrent.Future
import scala.concurrent.ExecutionContext.Implicits.global
val numberList = List(1, 2, 3)
def squareInTheFuture(number: Int): Future[Int] = Future { number * number}
val allTheSquares = for {
number <- numberList
square <- squareInTheFuture(number)
} yield { square }
我得到的是:
错误:类型不匹配; 发现:scala.concurrent.Future[Int] 必需:scala.collection.GenTraversableOnce[?] 方格
谁能帮我理解为什么这不起作用以及最好的选择是什么?
【问题讨论】:
标签: scala