SCALA - 表达式(对于{} yield x)的类型为Future [Future [..]]而不是预期的Future [..]

时间:2015-09-21 20:10:04

标签: scala

我有以下代码:

val futureWithResult = for{files <- scanFiles(dir)
                            res <- procFiles(files)}yield res

res的类型为Future[...],为什么此语句返回Future[Future[..]]? 在我的程序中,我需要futureWithResult为Future[...]。为什么我的yield代码将res类型包装到另一个Future[]

1 个答案:

答案 0 :(得分:0)

我找到了答案。问题确实在错误的类型(确切地说,与res的类型)。它是Future[Seq[(String, Int)]]而不是Seq[(String, Int)]问题是我错误地将procFiles(它将Future [...])包装到另一个Future中。感谢所有人的评论!