2016-07-04 66 views
0

我一直运行函数如下返回一个未来的列表:减少期货

def longRunningFunction(signs: List[String], numOfWords: Int) 
    : Future[List[(String, Int)]] = Future{ /* computation */ } 

我需要,以减少未来的输出如下:

val all = (6 to 24).map(i => longRunningFunction(signs, i)) 
        .reduce(_ ::: _) 

但这并不似乎工作。有什么想法吗?

+2

*但这似乎并没有工作。*什么不起作用?更明确。另外,“符号”是无处定义的。 – Jubobs

+0

符号只是一个字符串列表。 –

+0

您的请求尚不明确。在'reduce()'调用之前,你有一个'IndexedSeq [Future [List [(String,Int)]]]''。你想减少到什么程度? – jwvh

回答

0

这是你要找的东西吗?

def longRunningFunction(signs: List[String], numOfWords: Int): Future[List[(String, Int)]] = ??? 

val all: IndexedSeq[Future[List[(String, Int)]]] = (6 to 24).map(i => longRunningFunction(signs, i)) 
val result: Future[IndexedSeq[(String, Int)]] = Future.sequence(all).map(_.flatten)