2016-12-04 7 views

ответ

6

Вы можете отобразить результат f2 внутри flatMap:

f1().flatMap(t => f2(t).map((t, _))) 

Или используя для-понимания:

for { 
    t <- f1() 
    t1 <- f2(t) 
} yield (t, t1) 

В качестве альтернативы, вы можете сжать два фьючерса на тот, который возвращает кортеж:

val a = f1() 
val b = a.flatMap(f2) 
val c = a zip b 

 Смежные вопросы

  • Нет связанных вопросов^_^