I've a Future[Future[(String,String)]]
and I want to convert it into a Future[(String,String)]
using a for comprehension.
Not necessarily with a for comprehension, a simple approach involves the use of flatMap
over identity
.
Consider for instance
import scala.concurrent.Future
import scala.concurrent.ExecutionContext.Implicits.global
def f: Future[Future[(String,String)]] = Future { Future {("a","aa")} }
Then
f.flatMap(identity)
res: scala.concurrent.Future[(String, String)] = Promise$DefaultPromise@1849937