Можно ли добиться чего-то вроде этого:
for {
numberOfLines <- Future { getNumberOfLines() }
i <- 0 to numberOfLines
result <- Future { extractResultFromLine(i) }
} yield result
Надеюсь, понятно, каковы мои намерения.
Можно ли добиться чего-то вроде этого:
for {
numberOfLines <- Future { getNumberOfLines() }
i <- 0 to numberOfLines
result <- Future { extractResultFromLine(i) }
} yield result
Надеюсь, понятно, каковы мои намерения.
Вы можете использовать Future.traverse
// Gives you a Future[IndexedSeq[`whatever extractResult returns`]]
for {
numberOfLines <- Future{getNumberOfLines()}
result <- Future.traverse(0 to numberOfLines)(i => Future(extractResultFromLine(i)))
} yield result